Xaq*_*ron 38 asp.net iis http-headers
在IIS 7.0 integrated mode使用Response.ClearHeaders()IIS 删除所有标题之后,会添加一些其他标题Server,X-Powered-By并向黑客显示良好的信息.如何阻止此行为(考虑我仍然需要添加自定义标头)?
eth*_*th0 71
您可以将其添加到Web.Config:
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
更新:如果您正在使用MVC框架,我还建议您删除X-AspNetMvc-Version和X-AspNet-Version标头.这可以通过设置来完成MvcHandler.DisableMvcResponseHeader = true你的Global.asax文件,并<system.web><httpRuntime enableVersionHeader="false" /></system.web>在你的Web.config分别.
Sam*_*eff 13
该X-Powered-By配置IIS内.在Windows 7上,它具体是:
X-Powered-By我不确定是什么产生了Server标题.
对于IIS7 +集成模式,eth0具有:<customHeaders>web.config中的标记.感谢那.对于"Server"标头,如果使用MVC,您只需添加:
protected void Application_PreSendRequestHeaders()
{
Response.Headers.Remove("Server");
}
Run Code Online (Sandbox Code Playgroud)
到Global.asax中的MvcApplication类.否则,您只需添加一个自定义Http模块,处理PreSendRequestHeaders事件,并执行相同的操作.
想在此处添加一点,对于不再有 web.config 文件的 ASP.NET Core 版本,需要采用不同的方法。
我进行了以下调整以删除 ASP.NET Core 2.1 中的标头:
您可以通过替换来删除 x-powered-by 标头
<customHeaders>
<clear />
<add name="X-Powered-By" value="ASP.NET" />
</customHeaders>
Run Code Online (Sandbox Code Playgroud)
和
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
Run Code Online (Sandbox Code Playgroud)
在项目的 .vs\config 文件夹中找到的 applicationhost.config 文件中。
服务器标头可以通过添加来删除
.UseKestrel(c => c.AddServerHeader = false)
Run Code Online (Sandbox Code Playgroud)
在 Program.cs 文件中。
| 归档时间: |
|
| 查看次数: |
33828 次 |
| 最近记录: |