asp.net - 如何阻止某些 HTTP 方法访问特定 URL?
问题描述
出于安全原因,我想通过应用程序级别为 URL 禁用一些 http 方法(例如 OPTIONS、TRACE、HEAD)。
URL 是“mywebsite.com/bundles/”
我试过这个
<system.web>
<authorization>
<deny verbs="OPTIONS" users="*" />
<deny verbs="TRACE" users="*" />
<deny verbs="HEAD" users="*" />
</authorization>
...
<httpHandlers>
<add path="bundles" verb="OPTIONS" type="System.Web.DefaultHttpHandler" validate="true"/>
<add path="bundles" verb="TRACE" type="System.Web.DefaultHttpHandler" validate="true"/>
<add path="bundles" verb="HEAD" type="System.Web.DefaultHttpHandler" validate="true"/>
</httpHandlers>
它会阻止所有应用程序的 http 方法,但我只想要“/bundles”及其文件和子目录。
但是“捆绑”不是我的应用程序中的物理路径,而是虚拟的
bundles.Add(new Bundle("~/bundles/Something").Include("~/Contents/Scripts/file.js"));
bundles.Add(new Bundle("~/bundles/Anything").Include("~/Areas/Import/Scripts/App/anotherfile.js"));
解决方案
您应该能够使用<location>
元素将任何封闭的指令限制为您指定的路径。例如
<location path="bundles">
<system.web>
<authorization>
<deny verbs="OPTIONS" users="*" />
</authorization>
</system.web>
</location>
请参阅https://msdn.microsoft.com/en-us/library/b6x6shw7(v=vs.100).aspx
推荐阅读
- asp.net-mvc - 无法使用条带价格 api 从条带获取价格
- python - TypeError:re 中的预期字符串或类似字节的对象
- python - python matplotlib.pyplot - Cannot use setattr on plt objects
- jquery - 是否可以在 Ajax 调用 Web 方法中使用 Session
- python - 文件错误:第 4 行:导入测试库“Selenium2library”失败:ModuleNotFoundEr 错误:没有名为“Selenium2library”的模块
- c++ - VS2019:[C6386] 缓冲区溢出而到
- spring-websocket - Stomp over SockJS ActiveMQ 中继到多个服务器
- regression - 弱工具stata结果
- flutter - 如何在 Flutter 中发送 FCM 推送通知,如警报
- python - 如何导入 .log 文件,其中列中有空格,列之间有空格分隔?