我尝试过把这个代码放进来:
<meta http-equiv="X-XSS-Protection" content="0">
我正在尝试在<head>
标签中执行代码,但一直没有成功。我想要解决IE浏览器限制跨站点脚本的问题。
我尝试过把这个代码放进来:
<meta http-equiv="X-XSS-Protection" content="0">
我正在尝试在<head>
标签中执行代码,但一直没有成功。我想要解决IE浏览器限制跨站点脚本的问题。
我怀疑它只作为元标记(meta tag)行不通。你可能需要告诉你的Web服务器将其发送为真正的头部(header)。
在PHP中,您可以这样做:
header("X-XSS-Protection: 0");
在ASP.net中:Response.AppendHeader("X-XSS-Protection","0")
在Apache的配置文件中:Header set X-XSS-Protection 0
在IIS中,属性中有一个额外标头的部分。通常已经设置了“X-Powered-By: ASP.NET”;您只需将“X-XSS-Protection: 0”添加到同一位置即可。
X-XSS-Protection
? - Sachith Wickramaarachchi如果您正在使用.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>
我强烈推荐这个链接,它讲解了如何在ASP.NET MVC中配置安全的IIS响应标头: http://insiderattack.blogspot.com/2014/04/configuring-secure-iis-response-headers.html
<remove name="X-Powered-By" /> <add name="X-XSS-Protection" value="1; mode=block" />
- Shady Mohamed Sherif在Apache中,您需要编辑配置文件,该文件可能是:
/etc/apache2/apache2.conf
/etc/apache2/httpd.conf
在文件末尾添加以下行以启用HTTP标头XSS保护:
<IfModule mod_headers.c>
Header set X-XSS-Protection: "1; mode=block"
</IfModule>
mod_headers
是独立于主要的Apache核心(未编译进入Apache)的外部模块,那么您应该使用.so
而不是.c
——即:<IfModule mod_headers.so>
之后,保存更改,并使用以下命令重新启动 Apache:ASP Classic
中,可以使用以下标签实现此功能:<% Response.AddHeader "X-XSS-Protection", "1" %>
.htaccess
,则需要使用双引号:Header set x-xss-protection "1; mode=block"
# Turn on IE8-IE9 XSS prevention tools
Header set X-XSS-Protection "1; mode=block"
这个头部信息只适用于Internet Explorer 8和9,它可以打开IE 8和IE 9中的跨站脚本保护功能,该功能默认情况下是关闭的,因为它可能会破坏一些网站。要打开XSS过滤器,请使用头部X-XSS-Protection“1; mode=block”。如果您希望防止此过滤器在您的网站上被打开,请将头部值设置为“0”;