如何/在哪里可以在包含用户输入的所有响应中添加“X-Content-Type-Options:nosniff”

时间:2016-11-30 15:21:22

标签: javascript php xss content-type codeigniter-3

问题背景
没有设置值为nosniff的“X-Content-Type-Options”HTTP头 响应。缺少此标头会导致某些浏览器尝试 即使这些,也确定响应的内容类型和编码 属性定义正确。这可能会使Web应用程序易受攻击 反对跨站点脚本(XSS)攻击。例如。 Internet Explorer和 Safari将内容类型为text / plain的响应视为HTML(如果是) 包含HTML标记。

问题补救
至少在包含用户的所有响应中设置以下HTTP标头 输入:
X-Content-Type-Options:nosniff

我如何以及在何处添加此内容?

我正在使用Codeigniter 3.0.1

2 个答案:

答案 0 :(得分:2)

在用于设置APPLICATION ENVIRONMENT的index.php文件中添加以下标头:

header('X-Content-Type-Options: nosniff');

或者,您可以在apache服务器上设置它(首选)。您可以通过修改Apache设置或.htaccess文件并添加以下行来启用它:

<IfModule mod_headers.c>
  Header set X-Content-Type-Options nosniff
</IfModule>

答案 1 :(得分:0)

如果您使用的是Codeigniter 3.0.1

转到系统 - &gt;核心 - &gt; Output.php - &gt; __构造()
并添加
$headerTemp = 'X-Content-Type-Options: nosniff'; $this->headers[] = array($headerTemp, TRUE);