详细描述
X-Content-Type-Options HTTP 消息头相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对 MIME 类型 的设定,而不能对其进行修改。这就禁用了客户端的 MIME 类型嗅探行为,换句话说,也就是意味着网站管理员确定自己的设置没有问题。
X-Content-Type-Options响应头的缺失使得目标URL更易遭受跨站脚本攻击。
解决办法
将您的服务器配置为在所有传出请求上发送值为“nosniff”的“X-Content-Type-Options”头。对于 Apache,请参阅:
http://httpd.apache.org/docs/2.2/mod/mod_headers.html
对于 IIS,请参阅:
https://technet.microsoft.com/pl-pl/library/cc753133%28v=ws.10%29.aspx
对于 nginx,请参阅:
http://nginx.org/en/docs/http/ngx_http_headers_module.html
apache的解决办法
参考:
https://stackoverflow.com/questions/21322295/how-can-i-add-x-content-type-options-nosniff-to-all-the-response-headers-from找到配置文件
LoadModule headers_module modules/mod_headers.so
项目的根目录下的.htaccess文件中增加如下内容:
# Extra Security Headers
<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
Header always append X-Frame-Options SAMEORIGIN
Header set X-Content-Type-Options nosniff
</IfModule>
IIS的解决办法
参考:
https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753133(v=ws.10)
操作方法如下:
设置完成不用重启服务,立刻会生效的。
校验方法
浏览器F12,查看网络请求,如下: