我有一个C#asp.net应用程序.它被发送到安全评估,下面是风险.
-Missing "Content-Security-Policy" header
-Missing "X-Content-Type-Options" header
-Missing "X-XSS-Protection" header
-It was observed that server banner is getting disclosed in HTTP response.
-It was observed that service version is getting disclosed in HTTP response.
Run Code Online (Sandbox Code Playgroud)
我在web.cofig文件中有以下代码
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By"/>
<add name="X-Frame-Options" value="DENY"/>
<add name="X-XSS-Protection" value="1; mode=block"/>
<add name="X-Content-Type-Options" value="nosniff "/>
</customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)
我以为这会添加标题.但安全团队表示问题并未解决.是否有替代品.对于Banner的披露,我无法访问服务器.我可以在应用程序中修复此问题.经过研究我发现:在Global.asax里面我有这个代码:
protected void Application_PreSendRequestHeaders()
{
// Response.Headers.Remove("Server");
Response.Headers.Set("Server", "My httpd server");
Response.Headers.Remove("X-AspNet-Version");
Response.Headers.Remove("X-AspNetMvc-Version");
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
var app = sender as HttpApplication;
if …Run Code Online (Sandbox Code Playgroud)