javascript - 反点击劫持代码导致页面不断刷新

标签 javascript wordpress iframe clickjacking custom-theme

我有一个 Wordpress 网站,并且有以下旨在防止点击劫持的代码:

<script type="text/javascript">
   if (self === top) {
       var antiClickjack = document.getElementById("antiClickjack");
       antiClickjack.parentNode.removeChild(antiClickjack);
   } else {
       top.location = self.location;
   }
</script>

但是,此代码会导致我的管理页面之一不断刷新。该页面位于我正在构建的主题的自定义部分中。发生这种情况是因为预览显示在 iframe 中。

如何防止旧版浏览器上的点击劫持,同时解决页面不断重新加载的问题?理想情况下,我能够以某种方式修改这个 JavaScript。

最佳答案

<script type="text/javascript">
   if (self === top || self.location === 'yourPreviewPage') {
       var antiClickjack = document.getElementById("antiClickjack");
       antiClickjack.parentNode.removeChild(antiClickjack);
   } else {
       top.location = self.location;
   }
</script>

您可以使用上面类似的代码绕过这些页面(特别是您的情况下的预览页面)进行框架。 反点击劫持的其他选项是使用响应 header -

CSP frame ancestorx frame options

关于javascript - 反点击劫持代码导致页面不断刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29636033/

相关文章:

android - 带 iframe 的 webview - 后退按钮返回到 iframe 内

html - 如何在 HTML 中嵌入 Soundcloud?

javascript - Action Cable 仅向客户端发送欢迎和 ping 消息

javascript - 在 AngularJs Web 应用程序中存储以前的 URL

javascript - 当我从另一个对象调用它时对象未定义

windows - Google App Engine 部署的媒体错误

css - 菜单项恰好一个在另一个 wordpress 导航之上

javascript - 如何使用 webapp 处理事件?

php - 自定义订单状态未显示在客户我的帐户订单历史记录中

html - 从 iframe 中删除滚动条