关于X-Frame-Options 响应头配置避免点击劫持攻击的问题整理

2018.05.07 客户反映学校网站被扫描到   X-Frame-Options Header 未配置漏洞

经查询得到的解决方案一:

配置 Apache
配置 Apache 的httpd.conf 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到配置中:
Header always append X-Frame-Options SAMEORIGIN

配置位置:


修改两个服务器,制作和发布的apache的httpd.conf文件,修改完以后重启apache服务

/opt/sudytech/apache2/bin/apachectl restart

然而,这样配置后,发现了新的问题,客户网站的新闻内容无法显示了,原来客户网站有些内容是嵌套的二级域名网站的内容,然后想到的解决方案二:

Header set X-Frame-Options "ALLOW-FROM http://www.XXXX.edu.cn/" /*该域名填写客户主域名*/

经测试,用该方法可以达到的效果就是客户主网站可以正常访问了,二级域名网站在ie、火狐不能被嵌套,但是在谷歌,360的极速模式是可以被嵌套的,主域名不能被嵌套。

涉及到的概念:

同源及跨域
1.同源策略
什么叫同源?
URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口相同,则表示他们同源。相反,只要 协议,域名,端口 有任何一个的不同,就被当作是跨域。
 
同源策略  Same-Origin-Policy(SOP)
浏览器 采用同源策略,禁止页面加载或执行与自身来源不同的域的任何脚本。换句话说浏览器禁止的是来自不同源的"document"或脚本,对当前"document"读取或设置某些属性。
情景:
比如一个恶意网站的页面通过iframe嵌入了银行的登录页面(二者不同源),如果没有同源限制,恶意网页上的javascript脚本就可以在用户登录银行的时候获取用户名和密码。
 
浏览器中有哪些不受同源限制呢?
<script>、<img>、<iframe>、<link>这些包含 src 属性的标签可以加载跨域资源。但浏览器限制了JavaScript的权限使其不能读、写加载的内容。
 
2.跨域
跨域是指从一个域的网页去请求另一个域的资源。比如从http://www.aaaa.com/  页面去请求 http://www.bbbb.com  的资源。

方案一是限定了同源:只能自己嵌套自己,二级网站也不能嵌套
方案二看似指定了嵌套对象:然而浏览器兼容性问题还是来了,不是所有浏览器都认

参考资料:
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值