我需要为我的 Web 应用程序添加一个基于 javascript 的 framebuster,以帮助防止不支持 X-FRAME-OPTIONS 的旧版浏览器的点击劫持(或跨帧脚本)攻击。
在网上搜索后,我发现目前似乎有两种方法,如下所示。作为一个完整的 javascript 新手,我更喜欢方法 1 的简单性。
我的问题是- 这两种方法目前仍然有效还是其中任何一种已经“失败”?
编辑:将我的问题更改为询问这两种方法,而不仅仅是方法 1。
方法 1(来自http://en.wikipedia.org/wiki/Framekiller#Modern_framekiller):
if (self == top) {
document.documentElement.style.display = 'block';
} else {
top.location = self.location;
}
<style id="antiClickjack">body{display:none !important;}</style>
<script type="text/javascript">
if (self === top) {
var antiClickjack = document.getElementById("antiClickjack");
antiClickjack.parentNode.removeChild(antiClickjack);
} else {
top.location = self.location;
}
</script>
非常感谢。