在IIS 7.0
integrated mode
删除所有标头后用Response.ClearHeaders()
IIS会添加一些其他标头,如Server
和X-Powered-By
,这些标头向黑客揭示了良好的信息。我怎样才能阻止这种行为(考虑我仍然需要添加我的自定义标题)?如何从响应中删除IIS自定义标题,如X-Powered-By:ASP.NET?
回答
X-Powered-By
在IIS中配置。在Windows 7很明确:
- IIS管理器
- 计算机名>站点>默认Web站点
- HTTP Respons头
- 删除
X-Powered-By
我不知道是什么产生Server
标题虽然。
谢谢。至少有50%的进展。如果可能的话,我更喜欢asp.net内部的一般方法。 – Xaqron 2010-11-02 15:11:16
@Xaqron,你可以通过编程获得设置,但我不知道该如何。抱歉。 – 2010-11-02 15:12:50
URLScan的可以用来删除服务器头,或配置其他服务器头,http://learn.iis.net/page.aspx/938/urlscan-3-reference/
但它从来没有真正防止黑客知道你其实用什么。显然还有其他方法来检测您的服务器信息。
谢谢。应该有一些内置的配置部分或在最坏的情况下注册表操作,而不是安装一个组件,它的主要目的不是删除SERVER头文件。 – Xaqron 2010-11-20 14:18:03
我已经说过,不是每个人都认为显示服务器头是坏的。那么,为什么只有少数人使用它,为什么要这样呢? – 2010-11-27 02:55:04
您可以添加到您的Web.Config:
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
更新:如果你使用MVC框架我也建议去除X-AspNetMvc-Version
和X-AspNet-Version
头为好。这是通过分别在您的Web.config
中的Global.asax
文件和<system.web><httpRuntime enableVersionHeader="false" /></system.web>
中设置MvcHandler.DisableMvcResponseHeader = true
来完成的。
在IIS 10中。0(和Azure Web Apps),您还可以通过
对于IIS7 +集成模式,eth0具有它:web.config中的<customHeaders>
标记。感谢那。至于“服务器”头,如果使用MVC,你可以简单地添加:
protected void Application_PreSendRequestHeaders()
{
Response.Headers.Remove("Server");
}
在Global.asax中的MvcApplication类。否则,你可以简单地添加一个自定义的Http模块,处理PreSendRequestHeaders事件,并做同样的事情。
PreSendRequestHeaders不是托管管道的一部分,可能会产生类似冻结异步请求的奇怪结果。 http://www.asp.net/aspnet/overview/web-development-best-practices/what-not-to-do-in-aspnet-and-what-to-do-instead#presend。 – 2016-06-10 19:51:58
以下答案包含一个不需要URLScan或自定义HttpModule的完整解决方案,并删除您提到的所有相关头文件。它也适用于Azure。 [删除/隐藏/天青禁用过度HTTP响应标头/无UrlScan的IIS7]的
Removing/Hiding/Disabling excessive HTTP response headers in Azure/IIS7 without UrlScan
- 1. 如何从自定义对话框中删除标题?
- 2. 如何从我的自定义框架中删除标题?
- 3. 如何从java中的服务器响应中删除标题?
- 4. 使用Visual Studio发布MVC站点到IIS 7从IIS配置中删除自定义响应标头
- 5. 如何从Axis2 SOAP响应中删除标题属性
- 6. 如何从WCF REST传出响应中删除默认标题?
- 7. 如何删除UIImageView从自定义UIView
- 8. 如何从Intellij-IDEA中删除自定义javadoc标签
- 9. 如何将自定义HTTP标题添加到JAX-RS响应?
- 10. 删除自定义标签
- 11. 如何从DialogFragment中删除标题?
- 12. 如何从Joomla中删除标题
- 13. 如何删除PHP中的特定http响应标头
- 14. 如何从响应中删除“<?xml ...>”标记?
- 15. 如何从谷歌端点的响应中删除iteams标记
- 16. 如何从CURL响应中删除HTTP标头?
- 17. 从odata响应中删除__metadata标记
- 18. 如何在PHP中删除自定义标签和内容?
- 19. 如何在PHP中删除自定义标签?
- 20. 如何在Google端点响应中发送自定义标头
- 21. 如何在AWS S3中设置自定义响应标头
- 22. 如何在DialogFragment中自定义标题
- 23. 如何从WinForms中的自定义控件中删除位图?
- 24. 如何从Mongoid中的自定义ID中删除空格?
- 25. 如何从magento2的前视图中删除+标志可从中自定义选项中删除
- 26. 返回响应时删除标题
- 27. 如何删除自定义视图?
- 28. 如何删除自定义侦听器?
- 29. 如何删除自定义的数组
- 30. 如何在删除部分时更新UITableView中的自定义标题视图?
可能重复(http://stackoverflow.com/questions/12803972/removing-hiding-disabling-excessive-http -response-headers-in-azure-iis7-without) – CrazyPyro 2015-03-16 17:34:22
我知道这个问题首先被问到,但其他问题现在更完整并且是最新的。 – CrazyPyro 2015-03-16 17:35:13