如何防止 WordPress 页面被 Frame 嵌入

WordPress 生成的前台页面,默认是可以被其他网页通过 Frame 方式嵌入的,这样对用户存在安全隐患,如果不想被其他网页嵌入,如何设置呢?

可以通过 X-Frame-Options HTTP 响应头来设置是否允许网页被 <frame> 、<iframe> 或 <object> 标签引用,网站可以利用这个HTTP 响应头确保网页内容不被嵌入到其他网站,避免点击劫持(clickjacking)。

如何防止 WordPress 页面被 Frame 嵌入

X-Frame-Options 选项介绍

X-Frame-Options 有三个可选值:

  • DENY:不允许其他网页嵌入本网页
  • SAMEORIGIN:只能是同源域名下的网页
  • ALLOW-FROM uri:指定可以嵌入的地址

简单来说,设置了 DENY 则任何网页都不能嵌入(包括同一个网站的其他网页),设置了 SAMEORIGIN 则同域名的可以嵌入,指定某个地址可以嵌入使用 ALLOW-FROM uri 。

绝大部分浏览器都支持,IE 则需要 IE8 或以上。一般情况下如果拒绝嵌入,浏览器会返回空白页面(如 Chrome/Firefox),不过也有的会显示错误信息。

如何设置 X-Frame-Options 响应头

PHP

header('X-Frame-Options:SAMEORIGIN');

Apache

Header always append X-Frame-Options SAMEORIGIN

nginx

add_header X-Frame-Options SAMEORIGIN;

IIS

<system.webServer>
…
<httpProtocol>
<customHeaders>
<add name=”X-Frame-Options” value=”SAMEORIGIN” />
</customHeaders>
</httpProtocol>
…
</system.webServer>

WordPress 可以直接在后台设置

对于 WordPress 博客来说,只要安装了 WPJAM Basic 插件,就可以直接在后台设置 Frame 嵌入。

如何防止 WordPress 页面被 Frame 嵌入

在 WPJAM 菜单下的「优化设置」中「功能增强」标签中,根据自己的需求按照上图选项进行设置即可。

声明:本站部分文章或资源,整理于网络或由网友提供,主要用于知识性分享与学习用途。若相关内容侵犯了原著者的合法权益,请联系处理。
技术资源

基于Flutter开发的WEB网站在线生成APP源码 带后台控制+详细视频教程

2022-5-24 16:43:51

技术

Android开发需要掌握的技能点总结(全面)

2022-9-15 11:00:29

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧