【问题标题】:How to remove Allow header from Http Response?如何从 Http 响应中删除 Allow 标头?
【发布时间】:2018-04-11 11:37:08
【问题描述】:

我有对 POST/GET/PUT 动词有效的 API,但如果黑客拦截了请求并将方法更改为“OPTIONS”而不是“GET”,他将在 http 响应中得到以下错误 -

允许:GET、POST、PUT { "Message": "请求的资源不支持 http 方法 'OPTIONS'。" }

这允许黑客识别 API 支持的动词。我必须限制此标头作为响应。

我尝试删除“WebDav”模块,但它仍然显示相同的消息。我不希望黑客看到此消息和允许标头。

【问题讨论】:

    标签: azure http iis asp.net-web-api2 webdav


    【解决方案1】:

    根据您的要求,我假设您可以在Web.config 文件中指定支持的动词,如下所示:

    <system.webServer>
      <security>
        <requestFiltering>
          <verbs allowUnlisted="false">
            <add verb="GET" allowed="true" />
            <add verb="POST" allowed="true" />
            <add verb="PUT" allowed="true" />                
          </verbs>
        </requestFiltering>
      </security>
    </system.webServer>
    

    如果客户端尝试使用其他动词访问您的 Api,它将收到 404 状态码。此外,为了更好的安全考虑,您最好在 Web API 中启用身份验证。

    【讨论】:

      猜你喜欢
      • 2011-07-05
      • 2011-12-15
      • 2013-12-09
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 2012-04-20
      • 2020-06-18
      • 2013-04-26
      相关资源
      最近更新 更多