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