Nginx添加响应标头:X-Content-Type-Options,这个响应标头的值最好建议是nosniff,作用是用于禁止浏览器对服务器的文件类型进行猜测,
这个响应标头是一个很重要的安全设置,是防止MIME类型混淆攻击。
所谓MIME类型混淆攻击,就是攻击者会欺骗浏览器,例如将一个JS脚本伪装为图像文件,如果不设置X-Content-Type-Options,浏览器就会按照图像文件去解析这个JS脚本,如果设置了X-Content-Type-Options,浏览器就会忽略服务器提供的MIME类型,确保文件被正确解释和处理。
通常X-Content-Type-Options是在location进行设置
location ~ \.(html|htm|js|json|xml|css)$ {
add_header X-Content-Type-Options "nosniff";
}
这样起的作用是,如果服务器声明的内容类型是 text/css,浏览器将只接受 CSS。如果内容类型是 text/javascript,浏览器将只接受 JavaScript。这样可以防止将非脚本文件如图片或样式表当作脚本执行。
也可以在http标签进行设置
http {
add_header X-Content-Type-Options "nosniff";
}