如何设置Http头X-XSS-Protection

Aly*_*Aly 28 xss internet-explorer http-headers

我试过这个:

   <meta http-equiv="X-XSS-Protection" content="0">
Run Code Online (Sandbox Code Playgroud)

<head>标签但没有运气.我试图摆脱讨厌的IE阻止跨站点scirpting

cHa*_*Hao 40

我怀疑它只是一个元标记.您可能必须告诉您的Web服务器将其作为真正的标头发送.

在PHP中,你会这样做

header("X-XSS-Protection: 0");
Run Code Online (Sandbox Code Playgroud)

在ASP.net中:

Response.AppendHeader("X-XSS-Protection","0")
Run Code Online (Sandbox Code Playgroud)

在Apache的配置中:

Header set  X-XSS-Protection  0
Run Code Online (Sandbox Code Playgroud)

在IIS中,附加标题的属性中有一个部分.它经常在其中设置"X-Powered-By:ASP.NET"; 你只需将"X-XSS-Protection:0"添加到同一个地方.


equ*_*man 14

如果您使用的是.Net MVC,则可以通过Web.Config中的customHeaders对其进行配置.

要添加这些标题,进入httpprotocol节点,并添加里面的头customHeaders节点.

<httpprotocol> 
    <customheaders> 
        <remove name="X-Powered-By"> 
           <add name="X-XSS-Protection" value="1; mode=block"></add>
        </remove>
    </customheaders> 
</httpprotocol>
Run Code Online (Sandbox Code Playgroud)

我强烈推荐此链接解释如何在ASP.NET MVC中配置安全IIS响应标头:http: //insiderattack.blogspot.com/2014/04/configuring-secure-iis-response-headers.html

  • 标签关闭是错误的你需要将这两行放在customheaders标签中`<remove name ="X-Powered-By"/> <add name ="X-XSS-Protection"value ="1; mode = block"/> ` (4认同)
  • 阴暗的治安官建议的更改是正确的,否则它会显示错误. (2认同)

gal*_*get 5

在 Apache 中,您需要编辑配置文件,该文件可以是:

/etc/apache2/apache2.conf

/etc/apache2/httpd.conf

在文件中,您可以在末尾添加以下行以启用 HTTP 标头 XSS 保护:

<IfModule mod_headers.c>
    Header set X-XSS-Protection: "1; mode=block"
</IfModule>
Run Code Online (Sandbox Code Playgroud)

注意:如果mod_headers是 Apache 主核心的外部(未编译到 Apache 中),那么您将使用.so而不是.c- ie。<IfModule mod_headers.so>

之后,保存更改并重新启动 apache:

sudo 服务 apache2 重新启动

或者

sudo 服务 httpd 重新启动

希望这可以帮助!:)