Framebuster 防点击劫持代码为啥不起作用? 保霞的笔记 提问于 2026-03-21 19:59:15 阅读 10 安全 我在页面里加了常见的 Framebuster 代码,但还是能被别人用 iframe 嵌套,完全没拦住,是不是写法有问题? 我试的是这种: if (window.top !== window.self) { window.top.location = window.self.location; } 本地测试时确实跳出去了,但放到线上后,别人嵌我的页面居然还能正常显示,一点反应都没有……是我漏了什么配置吗? 点击劫持 我来解答 赞 1 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 IT人春景 Lv1 Framebuster 代码在某些情况下确实不太可靠,尤其是现代浏览器对这些脚本的限制越来越多。你用的这个方法在本地测试可以,但上线后无效,可能是由于浏览器的安全策略或者被其他脚本干扰了。 试试这个方法,使用 X-Frame-Options 或 Content-Security-Policy 头来防止点击劫持,比 JavaScript 更可靠。你可以在服务器端设置这些 HTTP 头。 比如,在 Apache 中可以通过 .htaccess 文件添加: Header always set X-Frame-Options "SAMEORIGIN" 或者使用 Content-Security-Policy: Header always set Content-Security-Policy "frame-ancestors 'self';" 如果是 Nginx,可以这样设置: add_header X-Frame-Options "SAMEORIGIN"; 或者 add_header Content-Security-Policy "frame-ancestors 'self';"; 这样设置后,浏览器会强制执行这些策略,阻止页面被嵌入到其他域的 iframe 中。记得检查一下服务器配置,确保这些头信息正确发送出去。 回复 点赞 2026-03-21 20:07 加载更多 相关推荐
试试这个方法,使用 X-Frame-Options 或 Content-Security-Policy 头来防止点击劫持,比 JavaScript 更可靠。你可以在服务器端设置这些 HTTP 头。
比如,在 Apache 中可以通过 .htaccess 文件添加:
Header always set X-Frame-Options "SAMEORIGIN"或者使用 Content-Security-Policy:
Header always set Content-Security-Policy "frame-ancestors 'self';"如果是 Nginx,可以这样设置:
add_header X-Frame-Options "SAMEORIGIN";或者
add_header Content-Security-Policy "frame-ancestors 'self';";这样设置后,浏览器会强制执行这些策略,阻止页面被嵌入到其他域的 iframe 中。记得检查一下服务器配置,确保这些头信息正确发送出去。