1.缺少X-Frame-Options头 (HTTP请求头部字段)
技术概要:
Clickjacking(点击劫持)是由互联网安全专家罗伯特·汉森和耶利米·格劳斯曼在2008年首创的。
这是一种视觉欺骗手段,在web端就是iframe嵌套一个透明不可见的页面,让用户在不知情的情况下,点击攻击者想要欺骗用户点击的位置。服务器端没有返回X-Frame-Options头部,导致该站点存在点击劫持攻击的威胁。X-Frame-Options HTTP 响应头,可以指示浏览器是否应该加载一个iframe中的页面。网站可以通过设置X-Frame-Options阻止站点内的页面被其他页面嵌入从而防止点击劫持。
解决办法:
1. 在站点配置文件httpd.conf中添加如下配置,限制只有站点内的页面才可以嵌入iframe。Header always append X-Frame-Options SAMEORIGIN配置之后重启apache使其生效。该配置方式对IBM HTTP Server同样适用。
2. 配置 Apache配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中:Header always append X-Frame-Options SAMEORIGIN
3. 配置 nginx配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 'http', 'server' 或者 'location' 的配置中:add_header X-Frame-Options SAMEORIGIN;
4. 配置 IIS配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中
<system.webServer>
...
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
...
</system.webServer>
5. 配置 TOMCAT如果是tomcat服务器,不可能在每个页面去添加: response.addHeader("x-frame-options","SAMEORIGIN");因此可以使用过滤器,代码如下:HttpServletResponse response = (HttpServletResponse) sResponse;response.addHeader("x-frame-options","SAMEORIGIN"); 配置后重启服务器生效。