0
到目前爲止,我已經嘗試添加以下到我的web.config:如何防止ASP.NET應用程序中的OPTIONS請求?
<system.web>
<authorization>
<deny verbs="OPTIONS" users="*" />
</authorization>
<httpHandlers>
<remove verb="*" path="*.asmx" />
<add verb="OPTIONS" path="*" type="System.Web.DefaultHttpHandler" validate="true"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
</httpHandlers>
</system.web>
你可以看到,我已經加入到httpHandlers
節點的條目,但也有其他的已經有幾個條目有那麼它不是」那裏唯一的東西。
當我提出以下要求捲曲:
curl -v -X OPTIONS https://mySite.com
我看到在輸出以下內容:
< HTTP/1.1 200 OK
< Cache-Control: private, no-cache, no-store
< Allow: OPTIONS, TRACE, GET, HEAD, POST
爲什麼OPTIONS
請求仍然被允許?