没有所谓的捷径
一切都是时间最平凡的累积

针对360网站安全检测提示 X-Frame-Options头未设置的解决方法

本文最后更新:2019年8月5日,已超过1892天未更新,如果文章内容失效,请留言反馈本站。

前言

最近一段时间,通过360网站安全检测提示 X-Frame-Options头未设置,提示网站风险,这其实是一个框架引用,可以设置杜绝。

常见网站安全漏洞处理方法,禁用危险的http方法,如TRACE,OPTIONS

X-Frame-Options 

有三个值

DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM url
表示指定的url页面可以利用 frame 展示。

换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套,我们一般都是设置为SAMEORIGIN。

解决办法:

一、Apache 配置
大多数主机商都安装了mod_headers模块,在.htaccess文件中添加。

 <IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
</IfModule>

如果无法生效,可以更改 Apache的配置文件,需要把下面这行代码添加到 对应站点配置中。

Header always append X-Frame-Options SAMEORIGIN

二、nginx 配置
配置 nginx 发送 X-Frame-Options 响应头,把下面这行代码添加到 'http', 'server' 或者 'location' 的配置中:

add_header X-Frame-Options 'SAMEORIGIN'

三、IIS6/IIS7

iis6

1.打开IIS找到需要添加的站,右键属性。
2.点击HTTP头,找到自定义HTTP头,点击添加,在弹出的框里面输入:自定义 HTTP头名(C)下面的框里面填写:X-Frame-Options ;在自定义HTTP 头值(U)下面的框里面填写SAMEORIGIN 。点击确定,在点击确定,完毕。

iis7

方法一样,找到http响应标头,在里面添加

如果是虚拟主机,可以在web.config里面添加

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
 <httpProtocol>
 <customHeaders>
<remove name="X-Frame-Options"></remove>
<add name="X-Frame-Options" value="SAMEORIGIN"></add>
</customHeaders>
</httpProtocol>
</system.webServer>

</configuration>

也可以通过php代码实现,在全局或者需要的页面添加:

header("X-Frame-Options:SAMEORIGIN",false);

最后可以通过curl来检测

curl的使用可以参考我的另外一篇文章

如何给网站添加Vary HTTP标头

知识扩展:设置 header 指令

描述: 配置HTTP响应头

句法: Header [condition] set|append|add|unset|echo header [value] [env=[!]variable]

该指令可以替换,合并或删除HTTP响应头。在内容处理程序和输出过滤器运行之后,头文件被修改,允许修改传出头文件。

可选条件 onsuccess 或者 always。它确定应该操作哪个内部头表。onsuccess代表 2xx状态码而 always 代表所有状态码(包括2xx)。

它执行的动作由第二个参数决定。这可以是以下值之一:

set

响应标题被设置,用这个名字替换任何以前的标题。该值可以是格式字符串。

append

响应头被追加到任何现有的相同名称的头。当一个新的值被合并到一个已经存在的头上时,它将与逗号分开。这是给标题多个值的HTTP标准方式。

add

响应标题被添加到现有的标题集,即使这个标题已经存在。这可能会导致两个(或更多)标题具有相同的名称。这可能会导致不可预见的后果,应该使用“附加”来代替。

unset

如果该名称存在,则会删除该名称的响应标题。如果有多个相同名称的标题,则全部将被删除。

echo

带有这个名字的请求头在回应头中回显。标题可能是一个正则表达式。

该参数后面跟着一个 header 名称,可以包含最后的冒号,但不是必需的。对于 setappendadd 和unset,大小写是忽视的,但 echo 的 header 名称是大小写敏感的,并且可以是正则表达式。

» 站长码字辛苦,有用点个赞吧,也可以打个
» 若转载请保留本文转自:豫章小站 » 《针对360网站安全检测提示 X-Frame-Options头未设置的解决方法》
» 本文链接地址:https://blog.mydns.vip/1775.html
» 如果喜欢可以: 点此订阅本站 有需要帮助,可以联系小站
赞(0) 打赏 【豫章小站原创文章】
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除,联系邮箱:contact@mydns.vip。文章观点不代表本站立场。本站原创内容未经允许不得转载,或转载时需注明出处:豫章小站 » 针对360网站安全检测提示 X-Frame-Options头未设置的解决方法
分享到: 更多 (0)

评论 抢沙发


  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

智慧源于勤奋,伟大出自平凡

没有所谓的捷径,一切都是时间最平凡的累积,今天所做的努力都是在为明天积蓄力量

联系我们赞助我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏