ASP.NET 응용 프로그램에서 특정 HTTP 메서드(verbs)만을 허용하고 나머지를 차단하려면, web.config 파일의 system.webServer 섹션에 security 및 requestFiltering 설정을 추가하여 이를 구성할 수 있습니다.
모든 메서드를 차단하고자 할 때는 명시적으로 allowUnlisted="false" 지정하면 허용되지 않은 모든 메서드는 자동으로 차단됩니다.
아래는 수정된 web.config 설정 예시입니다:
<configuration>
<system.webServer>
<security>
<requestFiltering>
<verbs allowUnlisted="false"> <!-- 허용되지 않은 모든 메서드를 자동으로 차단 -->
<add verb="GET" allowed="true" />
<add verb="POST" allowed="true" />
<add verb="PUT" allowed="true" />
<add verb="DELETE" allowed="true" />
<add verb="OPTIONS" allowed="true" />
</verbs>
</requestFiltering>
</security>
</system.webServer>
</configuration>
IIS 의 요청 필더링을 통해 HTTP 동사 탭에서 아래와 같이 지정하셔도 됩니다. 저장 시, 해당 웹사이트가 재시작 됩니다.