黑帽联盟

 找回密码
 会员注册
查看: 1915|回复: 0
打印 上一主题 下一主题

[系统安全] 使用X-Frame-Options响应头防止iframe内框架调用

[复制链接]
yun 黑帽联盟官方人员 

920

主题

37

听众

1364

积分

超级版主

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2019-10-18 11:20
  • 签到天数: 678 天

    [LV.9]以坛为家II

    防止别人iframe自己的网站,有两种形式:
    第一种:在网站程序里面添加
    第二种:在网站环境里面添加

    使用 X-Frame-Options
    X-Frame-Options 有三个值:
    DENY
    表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

    SAMEORIGIN
    表示该页面可以在相同域名页面的 frame 中展示。

    ALLOW-FROM uri
    表示该页面可以在指定来源的 frame 中展示。

    换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。

    1、在网站程序里面添加,这里主要给这三种语言添加:html、php、jsp
    1.1、在html程序里面添加
    在head头标签里面添加如下代码:(下面的content值自己选择,这里我选择SAMEORIGIN)
    1. <meta http-equiv="X-Frame-Options" content="SAMEORIGIN">
    复制代码
    本地测试:
    经测试,代码没有生效,没有达到预期的效果。不知道啥问题,有知道是什么原因的,回帖留言,万分感谢

    1.2、在php程序里面添加
    在程序的开头部位加入以下代码:
    1. header(‘X-Frame-Options:SAMEORIGIN’);
    复制代码
    本地测试:
    经测试,可以达到预期的效果,但是被iframe调用的网站,也不能打不开了。所以此方法也不可行

    1.3、在jsp程序里面添加
    添加的代码如下:
    1. response.setHeader(“X-Frame-Options”,”SAMEORIGIN”);
    复制代码
    本地测试:
    这里自己还没有测试,有需求的,自己可以测试

    2、在网站的配置环境里面添加,主要在iis、apache、nginx里面添加
    2.1、配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中:(这里我选择属性值为SAMEORIGIN,其它的自己选择)
    1. <system.webServer>
    2.   ...

    3.   <httpProtocol>
    4.     <customHeaders>
    5.       <add name="X-Frame-Options" value="SAMEORIGIN" />
    6.     </customHeaders>
    7.   </httpProtocol>

    8.   ...
    9. </system.webServer>
    复制代码
    本地测试:
    经测试,可以完美杜绝网站被iframe

    2.2、配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中:
    1. Header always append X-Frame-Options SAMEORIGIN
    复制代码
    本地测试:
    经测试,可以完美杜绝网站被iframe

    2.3、配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 'http', 'server' 或者 'location' 的配置中:
    1. add_header X-Frame-Options SAMEORIGIN;
    复制代码
    本地测试:
    经测试,可以完美杜绝网站被iframe

    总结:不建议在网站程序内部添加,以免出现不必要的麻烦;如想添加,在网站的配置环境里面添加
    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部