您已经实现了反框架 JavaScript,以防止您的网站嵌入 iframe 中。但是,您发现了一种可以绕过帧破坏工作的恶意代码。这个问题提出了一个有趣的问题:你能智胜框架破坏破坏者吗?
攻击者的代码通过在页面导航尝试期间递增计数器并使用计时器将页面重定向到以 HTTP 响应的远程服务器来操作状态码204,有效阻止导航。
而反框架代码可以绕过,可以通过击败攻击者使用的计数器和计时器机制来重新获得控制权。具体方法如下:
攻击者使用 onbeforeunload 事件来增加计数器。要禁用它,请使用:
window.onbeforeunload = null;
要暂停 setInterval 计时器,请使用clearInterval 函数:
var intervalID = setInterval(function() { // ... }, 1); clearInterval(intervalID);
对于主流浏览器,使用 X-Frame-Options 标头可以防止即使禁用脚本也可以构建框架。例如:
X-Frame-Options: SAMEORIGIN
以上是你能智胜框架破坏者吗?的详细内容。更多信息请关注PHP中文网其他相关文章!