有时候我们开发的网站可能会被别人利用嵌入到其他网站中,也就是别人镜像我们的网站,造成点击劫持风险。

目前收集到的有以下前后端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 SAMEORIGIN

3、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>

禁止网站被iframe嵌套的解决方法相关推荐

  1. 浏览器禁止跨域请求json数据解决方法--jsonp

    浏览器禁止跨域请求json数据解决方法--jsonp 参考文章: (1)浏览器禁止跨域请求json数据解决方法--jsonp (2)https://www.cnblogs.com/uyisi/p/56 ...

  2. 网站出现service unavailable的解决方法

    网站出现service unavailable的解决方法 参考文章: (1)网站出现service unavailable的解决方法 (2)https://www.cnblogs.com/lazb/p ...

  3. idea中新增package总是嵌套的解决方法

    idea中新增package总是嵌套的解决方法 参考文章: (1)idea中新增package总是嵌套的解决方法 (2)https://www.cnblogs.com/codething/p/9286 ...

  4. 计算机关闭远程桌面 共享功能,win7旗舰版系统优化禁止用远程桌面共享的解决方法...

    ‍ ‍windows7系统优化的时候,禁用远程桌面共享功能,一旦被禁用了用户就不能设置它或使用它来远程控制其计算机,遇上这种问题要怎么处理,那么接下来就一起看看win7旗舰版系统优化禁止用远程桌面共享 ...

  5. IIS网站无法播放视频的解决方法

    IIS网站无法播放视频的解决方法 参考文章: (1)IIS网站无法播放视频的解决方法 (2)https://www.cnblogs.com/lichu-lc/p/10031150.html 备忘一下.

  6. .NET Core 2.2 IIS网站出现HTTP503无法访问解决方法

    .NET Core 2.2 IIS网站出现HTTP503无法访问解决方法 .NET Core 2.2 Runtime在未联网服务器上安装完成后,IIS所有网站都出现 HTTP 503无法访问的情况. ...

  7. res://ieframe.dll/acr_error.htm错误解决办法|ie8网站还原错误真正可行解决方法

    ie8网站还原错误真正可行解决方法,今天上午打开电脑,提示更新系统补丁,于是就把推荐的最重要的三个补丁安装了.上QQ打开QQ空间IE8浏览器页面突然快速切换,然后马上出现网站还原错误,网址头部出现re ...

  8. 此网站无法提供安全连接的解决方法

    谷歌提示此网站无法提供安全连接是怎么回事?相信很多使用谷歌浏览器的用户都遇到过,浏览网站弹出"您与此网站之间建立的连接不安全,请勿在网站上输入任何敏感信息(例如密码或信用卡信息),因为攻击者 ...

  9. “HTTP 错误 403.1 - 禁止访问:执行访问被拒绝”解决方法

    "HTTP 错误 403.1 - 禁止访问:执行访问被拒绝"解决方法 "HTTP 错误 403.1 - 禁止访问:执行访问被拒绝"解决方法 配置IIS的时候,如 ...

最新文章

  1. JQuery中ajax方法访问web服务
  2. 修改网络MAC地址的技巧
  3. Linux 重新挂载分区的方法
  4. mysql 不通过关联查询表_mysql中多表不关联查询的实现方法详解
  5. MongoDB入门_MongoDB安装与配置
  6. 《零基础看得懂的C++入门教程 》——(8)搞定二维数组与循环嵌套
  7. 【CSWS2014 Summer School】大数据下的游戏营销模式革新-邓大付
  8. 6个用于大数据分析的最好工具(转)
  9. 房租抵扣个税不用再填房东信息 房东这下放心了吗?
  10. liunx安装Lamp
  11. Java 中isEmpty和null、 的区别
  12. struts2远程命令执行漏洞S2-045
  13. 技术开发、产品开发和平台开发的区别
  14. 论文重复率一般要求是多少?
  15. python 根据条件输出_python数据类型、输入输出、运算符、条件判断、循环
  16. 模拟Android微信APK底部的TabHost选项卡
  17. 东方财富开通融资融券知识测评问卷答案
  18. 输入某年某日,判断这一天是这一年的第几天
  19. 1072 开学寄语 C++实现
  20. 网络不稳定 网速忽高忽低,ping值忽高忽低的解决办法 无线网出现问题解决

热门文章

  1. skimage.morphology.dilation 运行错误
  2. Jinja2文档学习
  3. 信号与系统(九)——连续系统的微分算子
  4. Mactype - 让 Windows 字体更漂亮
  5. Simply JavaScript
  6. oracle使用tmpfs,使用tmpfs提高性能
  7. 工行网银自动退出[96111945]验证码输入错误或已经超时失效解决方案
  8. php strtotime 3天后,php strtotime 问题
  9. Google I/O 2017
  10. 中石油大学22春季《大学英语(四)#》第二阶段在线作业