为除IE11之外的所有支持它的浏览器设置nosniff标头

时间:2016-01-22 23:26:33

标签: apache .htaccess header

在我的.htaccess文件中我有

<IfModule mod_headers.c>
  # Disable content sniffing, since it's an attack vector.
  Header always set X-Content-Type-Options nosniff
</IfModule>

为所有支持它的浏览器设置nosniff标头。

我想为除IE11之外的所有支持它的浏览器设置nosniff标头。我在CentOS上使用Apache / 2.2.23。 有可能吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

简短回答:你不能

答案很长:理论上你应该可以使用以下内容:

BrowserMatch "MSIE 11.0;" allow_sniff
Header set X-Content-Type-Options: nosniff env=!allow_sniff

然而,IE11故意掩盖它的用户代理假冒其他东西。有关详情,请参阅此帖子:http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx

所以最终上述不会奏效。您应该修改您需要更改IE11的行为的原因(修复您的dupal模块,或关闭所有浏览器没有嗅探)。

答案 1 :(得分:1)

您可以通过修改Apache设置或.htaccess文件并添加以下行来启用它:

  标题设置X-Content-Type-Options nosniff

Microsoft的这篇文章解释了它:减少MIME类型的安全风险 http://msdn.microsoft.com/en-us/library/ie/gg622941(v=vs.85).aspx