考虑一下您希望阻止其他网站将您的网站嵌入
/* break us out of any containing iframes */ if (top != self) { top.location.replace(self.location.href); }
虽然有效,但此代码可以被框架破坏破坏器绕过:
<script type="text/javascript"> var prevent_bust = 0 window.onbeforeunload = function() { prevent_bust++ } setInterval(function() { if (prevent_bust > 0) { prevent_bust -= 2 window.top.location = 'http://example.org/page-which-responds-with-204' } }, 1) </script>
此buster 的操作方式是:
那么,如何打败破坏框架的破坏者呢?
一个有效的方法是使用大多数现代浏览器支持的 X-Frame-Options:deny 指令。即使禁用脚本,此指令也会阻止框架:
X-Frame-Options: deny
浏览器支持:
Firefox (3.6.9):
Chrome/Webkit:
以上是如何击败绕过传统 Frame-Busting JavaScript 的 Frame-Busting Buster?的详细内容。更多信息请关注PHP中文网其他相关文章!