【发布时间】:2017-02-16 13:26:58
【问题描述】:
如果您关注这篇文章Azure Blog,您可以删除服务器、X-Powered-By 和 MVC 版本,非常棒。
您也可以通过以下方法使用自定义 IIS 模块实现类似功能:
private void OnPreSendRequestHeaders(object sender, EventArgs e)
{
HttpContext.Current?.Response.Headers.Remove("Server");
HttpContext.Current?.Response.Headers.Remove("X-AspNet-Version");
HttpContext.Current?.Response.Headers.Remove("X-AspNetMvc-Version");
HttpContext.Current?.Response.Headers.Remove("X-Powered-By");
}
但是,如果您发送以下查询字符串:
https://yourAppService.azurewebsites.net/test.txt:
您设法避免了为避免发送您试图远离潜在黑客的标头而采取的所有步骤。
样品请求:
有没有办法从 ALL 响应中完全删除这些标头,而不仅仅是应用程序设法优雅处理的请求?我已经设法从 99% 的响应中删除了标题,但不是全部!
更新:
我还发现如果你使用 PostMan 发送 GET 请求到
https://yourSite.azurewebsites.net/400errortest%00
你得到
更新:
MS 在 2017 年 6 月 26 日报告了对 /test.txt 的请求已修复。我可以确认它已针对这种情况修复。
通过 PostMan 对 https://yourSite.azurewebsites.net/400errortest%00 的请求仍然返回一个不太好的服务器标头。
【问题讨论】:
-
我们可以将我们的feedback 提供给azure 团队,如果我们使用以
:结尾的url 访问azure 网站会得到500 错误,默认操作应该是404 错误。 -
我添加了一个建议:feedback.azure.com/forums/169385-web-apps/suggestions/… 如果您想解决这个问题,请投票给它。
标签: security azure azure-web-app-service iis-8