最佳实践点击顶升预防:如果禁用了javascript怎么办?

时间:2016-07-20 07:44:05

标签: javascript clickjacking

我目前正在考虑保护网站免受点击劫持。 German Wikipedia提供了以下最佳做法示例:

<style> html{display : none ; } </style>
<script>
    if( self == top ) {
       document.documentElement.style.display = 'block' ; 
    } else {
       top.location = self.location ; 
    }
</script>
然而,我想知道,如果客户端禁用了JavaScript,该怎么办?然后,他将不会显示页面。我们要求提供功能齐全的非JavaScript版本的应用程序。

有任何建议可以实现吗?

1 个答案:

答案 0 :(得分:2)

您可以使用

<script>
    if (self !== top) {
       document.documentElement.style.display = 'none';
       top.location = self.location;
    }
</script>

仍然隐藏页面以防导航尝试成功受到攻击。您还可以在self.location.href + " cannot be displayed in a frame."的行中显示一条消息。

当然,这不会阻止您的页面在禁用JavaScript时显示在框架中(可能甚至不是全局的,只是在您的框架中),因此您应该始终发送相应的X-Frame-Options标题。 / p>