出于安全原因,我想,禁止通过应用水平的方法,所以我有这样的web.config文件
<configuration>
<location path="index.php">
<system.webServer>
<directoryBrowse enabled="false" />
</system.webServer>
<system.web>
<authorization>
<deny verbs="OPTIONS" users="*" />
<deny verbs="TRACE" users="*" />
<deny verbs="HEAD" users="*" />
<deny verbs="PROPFIND" users="*" />
<deny verbs="COPY" users="*" />
<deny verbs="LOCK" users="*" />
<deny verbs="UNLOCK" users="*" />
<deny verbs="PROPPATCH" users="*" />
<deny verbs="MKCOL" users="*" />
<deny verbs="MOVE" users="*" />
<deny verbs="DELETE" users="*" />
</authorization>
</system.web>
但这并没有工作任何想法?
这为我工作,但只有迫使特定的动词来用默认的处理器处理后。
<system.web>
...
<httpHandlers>
...
<add path="*" verb="OPTIONS" type="System.Web.DefaultHttpHandler" validate="true"/>
<add path="*" verb="TRACE" type="System.Web.DefaultHttpHandler" validate="true"/>
<add path="*" verb="HEAD" type="System.Web.DefaultHttpHandler" validate="true"/>
你仍然使用相同的配置,你有以上,但也迫使动词用默认的处理程序进行处理和验证。 来源: http://forums.asp.net/t/1311323.aspx
一个简单的方法来测试只是否认GET,看看你的网站负载。
Finaly我发现了另一个答案这个问题。 这是为我工作。 正下方DATAS添加到您的webconfig文件。
<configuration>
<system.webServer>
<security>
<requestFiltering>
<verbs allowUnlisted="true">
<add verb="OPTIONS" allowed="false" />
</verbs>
</requestFiltering>
</security>
</system.webServer>
</configuration>
形成更多的信息,您可以访问这个网站: http://www.iis.net/learn/manage/configuring-security/use-request-filtering
如果你想测试你的网站,是工作或不...你可以用“HttpRequester” Mozilla Firefox浏览器插件。 这个插件: https://addons.mozilla.org/En-us/firefox/addon/httprequester/