将X-Frame-Options DENY
添加到响应标头有助于防止恶意框架网页,作为解决方案,它肯定比客户端JavaScript解决方案更好。
但它有多有用呢?是否得到所有(现代)浏览器的支持,黑客可能会被劫持您的网站所绕过吗?
答案 0 :(得分:4)
EricLaw's page维护一个支持浏览器的列表。
主流桌面浏览器的当前版本都支持它;旧版本和利基以及一些移动浏览器没有。因此,您可能还希望包含反框架<script>
,以设置top.location
(并在反框架破坏的情况下首先删除网页内容;有关原因,请参阅this question )。
当您想要有选择地允许框架时,您可能更喜欢X-Frame-Options
的脚本方法。 X-Frame-Options
不允许“白名单”,因此您不能允许Google图片流量,但不允许其他人。
无论哪种方式,IE6-7仍然允许攻击者构建你的页面并禁用frame-buster。不幸的是,X-Frame-Options
之前存在可疑的<iframe security>
属性。您可以尝试添加<base target="_top">
以尝试使任何导航突破传统框架(或者只是在反框架破坏者的情况下无法工作),但这无法帮助您抵御隐形iframe重叠攻击