У меня есть API, который действителен для глагола POST / GET / PUT, но если хакер перехватит запрос и изменит метод на 'OPTIONS' вместо 'GET', он получит ошибку ниже в HTTP-ответе -
Разрешить: GET, POST, PUT { «Сообщение»: «Запрошенный ресурс не поддерживает HTTP-метод OPTIONS». }
Это позволяет хакеру определить, какие глаголы поддерживаются API. Я должен ограничить этот заголовок в ответ.
Я попытался удалить модуль «WebDav», но он по-прежнему показывает то же сообщение. Я не хочу, чтобы хакер видел это сообщение и заголовок Allow.


В соответствии с вашим требованием я предположил, что вы можете указать поддерживаемые глаголы в файле 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, чтобы обеспечить лучшую безопасность.