Как удалить заголовок allow из http response?

У меня есть API, который действителен для глагола POST / GET / PUT, но если хакер перехватит запрос и изменит метод на 'OPTIONS' вместо 'GET', он получит ошибку ниже в HTTP-ответе -

Разрешить: GET, POST, PUT { «Сообщение»: «Запрошенный ресурс не поддерживает HTTP-метод OPTIONS». }

Это позволяет хакеру определить, какие глаголы поддерживаются API. Я должен ограничить этот заголовок в ответ.

Я попытался удалить модуль «WebDav», но он по-прежнему показывает то же сообщение. Я не хочу, чтобы хакер видел это сообщение и заголовок Allow.

1
0
481
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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. Кроме того, вам лучше включить аутентификацию в своем веб-API, чтобы обеспечить лучшую безопасность.

Другие вопросы по теме