文章插图
很多人做的网站、博客会被别人用嵌套成为别人的网站,而浏览器可能还会收录这些盗用者的页面,结果自己做的网站反而让别人增加了排名,这是无法接受的 。
那么如何防止网页被别人的iframe嵌套,防止别人低成本地镜像自己的网站呢?最简单的方法,是使用js在做个前端处理:
<script type="text/JAVAscript"> window.onload=function(){ if(window.top != window.self)window.top.location = window.self.location; }</script>原理就是判断 window.top 是不是 window.self,如果不是则说明被嵌套了,强制把自己的location替换到top去,实现反嵌套 。核心语句是这个
if(window.top != window.self)window.top.location = window.self.location;【防止网页被别人的iframe嵌套】但由于方法简单,所以也很容易被人破解 。如果别人在引用iframe的时候,是通过document.write('<iframe></iframe>'),那么上面的js代码就无法生效,比如:
document.write('<iframe frameborder="0" scrolling="yes" name="main" src=https://www.isolves.com/it/cxkf/yy/js/2019-08-30/"http://你的网址" style="height:100%; visibility: inherit; width: 100%; z-index: 1;overflow: visible;">');所以网上很多文章会建议使用Meta标签加 X-FRAME-OPTIONS 属性,通过浏览器来判断和拒绝被嵌套页面的显示:
<meta http-equiv =“X-Frame-Options”contents =“DENY”>这个仍然是在前端页面里做的,由于其不可靠,X-FRAME-OPTIONS 特性已经逐渐被浏览器弃用了,因此现在也不好使了,但它被保留在了服务器端,通过添加响应头的方法实现避免网页被嵌套,大多数浏览器能支持 。
X-Frame-Options 有三个值:
DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许 。
SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示 。
ALLOW-FROM
推荐阅读
- 梦见被别人追从高处跳下来 梦见被追最后从高处跳了下去没有伤
- 淘宝投诉盗图成立有什么处罚 淘宝被投诉盗图怎么办?教您一招搞定!
- 梦见小孩被水呛着差点死了 梦到孩子游泳呛水被救上来
- 墙面漆被孩子画了怎么办 墙面被孩子画怎么翻新
- 梦见陌生人被警察抓了 梦见认识的人被警察抓
- 梦到自己吃鱼被鱼刺卡喉咙又弄出来了 梦到鱼刺卡喉咙又取出
- 梦见黄鼠狼咬住自己不放 梦见被黄鼠狼咬住不放解梦
- IBM全美大裁员!20年被裁老员工:当下很难找到新工作
- 梦见被龙追但还害怕 梦见被龙追赶
- 被抖音教会的5个超实用iPhone冷知识,每一个都是黑科技操作