网站禁用设置(禁止网站被iframe嵌套的解决方法)
有时候我们开发的网站可能会被别人利用嵌入到其他网站中 ,也就是别人镜像我们的网站 ,造成点击劫持风险 。
目前收集到的有以下前后端2种维度来防止网页被iframe嵌套的办法:
一 、前端
针对传统的Clickjacking ,一般是通过禁止跨域的iframe来防范 。framebusting通常可以写一段代码 ,以禁止iframe的嵌套 。因为frame busting存在被绕过的可能 ,更好的方案是采用X-FRAME-OPTIONS ,X-FRAME-OPTIONS是微软提出的一个http头 ,专门用来防御利用iframe嵌套的点击劫持攻击 ,并且在IE8 、Firefox3.6 、Chrome4以上的版本均能很好的支持 。
X-Frame-Options HTTP响应头是用来确认是否浏览器可以在frame或iframe标签中渲染一个页面 ,网站可以用这个头来保证他们的内容不会被嵌入到其它网站中 ,以来避免点击劫持 。
<meta http-equiv="X-FRAME-OPTIONS" content="DENY">TIP:在实际项目中使用了 ,但不起作用 ,还是推荐通过后端Nginx配置来禁止iframe嵌套
在PHP中,则可以在文件中添加以下代码:
<?php header(‘X-Frame-Options:Deny); ?>DENY:表示该页面不允许在 frame 中展示 ,即便是在相同域名的页面中嵌套也不允许 。
SAMEORIGIN:表示该页面可以在相同域名页面的 frame 中展示 。
ALLOW-FROM uri:表示该页面可以在指定来源的 frame 中展示 。
二 、服务器端
1 、nginx
在配置文件的 http 、server 或者 location 中加入如下代码 ,来防止被嵌套 。
add_header X-Frame-Options "SAMEORIGIN";2 、Apache
在 Apache 的配置文件的 site 中添加如下配置
Header always append X-Frame-Options SAMEORIGIN3 、htaccess
将如下代码加入网站根目录的 .htaccess 文件中,效果相同 。
Header append X-FRAME-OPTIONS "SAMEORIGIN"4 、IIS
将网站根目录的web.config配置文件做如下修改 ,来禁止网站被嵌套 。
<system.webServer> ... <httpProtocol> <customHeaders> <add name="X-Frame-Options" value="SAMEORIGIN" /> </customHeaders> </httpProtocol> ... </system.webServer>创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!