
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress点击劫持防范
WP集市
2025-09-08
【WordPress教程】
1675人已围观
(一) WordPress这玩意儿吧 做网站确实方便 但安全问题就像你家的后门 总得防着点小偷 点击劫持这玩意儿特别讨厌——用户以为自己点的是点赞按钮 结果莫名其妙关注了奇怪的主页 这种攻击说白了就是黑客用iframe把你的网页嵌在恶意页面上面 透明图层里藏着陷阱按钮
(二) 防范原理其实特简单 就是告诉浏览器“别用iframe装我” 核心代码就这几行:
function add_xframe_options() {
header('X-Frame-Options: SAMEORIGIN');
}
add_action('send_headers', 'add_xframe_options');
往主题的functions.php里一扔 立马见效 不过要注意啊 有些插件自己会设这个头 可能冲突
(三) 现在更流行的做法是用CSP策略 这个就像给浏览器发个安全手册:
add_action('send_headers', function() {
header("Content-Security-Policy: frame-ancestors 'self' https://trusted.site;");
});
这样只允许自己域名和信任的站点用iframe加载你的站 不过搞CSP的时候小心点 别把自家插件给拦住了
(四) 有个骚操作很多人不知道——用JavaScript做二次防护 虽然黑客能绕过 但能增加攻击成本:
if (top != self) {
top.location = self.location;
}
这段js代码意思是“如果发现自己在iframe里 就自动跳出来” 不过现在浏览器安全策略升级 很多情况下其实已经用不上了
(五) 实际搞防护的时候得考虑兼容性 老浏览器可能不支持CSP 所以最好双管齐下:
function anti_clickjacking() {
$headers = [
'X-Frame-Options' => 'SAMEORIGIN',
'Content-Security-Policy' => "frame-ancestors 'self'"
];
foreach ($headers as $name => $value) {
header("$name: $value");
}
}
add_action('send_headers', 'anti_clickjacking');
这样新老浏览器都照顾到了 就像既装防盗门又加监控摄像头
(六) 有些特殊情况得例外处理 比如需要被嵌入在线教育平台或社交媒体的页面 这时候可以用条件判断:
$allowed_referrers = ['edu.site', 'social.app'];
$referrer = parse_url($_SERVER['HTTP_REFERER'] ?? '', PHP_URL_HOST);
if (in_array($referrer, $allowed_referrers)) {
header("X-Frame-Options: ALLOW-FROM https://$referrer");
} else {
header('X-Frame-Options: DENY');
}
这就好比“只允许快递小哥进楼道 其他陌生人一律挡在小区门口”
(七) 最后提醒个坑——缓存插件可能会缓存安全头 导致设置失效 建议设置完以后清空全站缓存 然后用浏览器开发者工具检查Network标签 看看Response Headers里有没有X-Frame-Options和CSP相关字段
(八) 其实最省心的办法是直接用安全插件 比如Wordfence或All In One Security 这些插件带图形化界面 点几下鼠标就能搞定 适合不想碰代码的用户 不过插件多了可能会拖慢网站速度 自己权衡吧
(完) 安全防护就像穿衣服 不能等感冒了才想起加外套 WordPress站点保持更新+强密码+安全头设置 基本就能防住90%的点击劫持了 剩下的10%就得靠平时多注意 别乱装来路不明的插件和主题
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。
上一篇:WordPress文件权限设置

热门文章
