点击劫持防护怎么加才有效?

IT人剑博 阅读 21

我在做公司后台系统,听说要防点击劫持,就试着在 HTML 里加了 X-Frame-Options: DENY,但好像没生效?页面还是能被别人用 iframe 嵌套。

后来查资料说要用 Content-Security-Policy,但我加了下面这段 header,本地测试时浏览器控制台报错,iframe 依然能加载:

<meta http-equiv="Content-Security-Policy" content="frame-ancestors 'self';">

到底该怎么正确配置才能彻底防止被嵌套啊?是不是 meta 标签不行,必须后端设置响应头?

我来解答 赞 3 收藏
二维码
手机扫码查看
1 条解答
欧阳沐语
你猜对了,meta 标签对这两个安全头根本没用,浏览器故意不支持,不然攻击者随便改页面源码就绕过了。

必须后端设置响应头,Nginx 配置应该能用这个:

add_header X-Frame-Options "SAMEORIGIN" always;
add_header Content-Security-Policy "frame-ancestors 'self';" always;


如果是 PHP 后端直接这样写:

header("X-Frame-Options: SAMEORIGIN");
header("Content-Security-Policy: frame-ancestors 'self';");


两个都加上,老旧浏览器认 X-Frame-Options,现代浏览器认 CSP,双重保险。
点赞 1
2026-02-28 21:18