前言
最近一段时间,通过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来检测
知识扩展:设置 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 名称,可以包含最后的冒号,但不是必需的。对于 set,append,add 和unset,大小写是忽视的,但 echo 的 header 名称是大小写敏感的,并且可以是正则表达式。
» 本文链接地址:https://blog.mydns.vip/1775.html
最新评论
麻烦发下检测工具
让我下载
非常好