ASP.NET MVC3 – 您如何处理探测请求?
我们的网站上线了,当然,我们开始收到大量的探测请求,
喜欢
等等 现在在每种情况下都会抛出404错误并且elmah会发送有关它的电子邮件,但我认为最好至少忽略所有的php请求. 如何做到这一点,这样的请求将最低限度地加载服务器,可能是这样,asp.net管道将不参与此类请求? 如果需要简单地添加IgnoreRoutes,可能有人有一套好的路由,这会忽略大多数探测请求? 解决方法
我知道你已经声明你不想在IIS中使用重写模块,因为它“在IIS上增加了额外的负载”,但事实上,使用IIS来处理这些将不会比传入你的应用程序那样密集.同样的事情(即使两者都是非常小的资源方面).如果您想在IIS和带宽上以最小的负载量忽略请求,我建议如下
<rewrite> <rules> <rule name="Fail PHP requests"> <match url=".*"/> <conditions> <add input="{URL}" pattern="*.php*" /> </conditions> <action type="AbortRequest" /> </rule> </rules> </rewrite> 使用设置为AbortRequest的操作类型进行的重写完全切断HTTP连接并删除请求,不返回404或403错误.摘自“创建访问块”部分中的Learn IIS. 编辑 – 由于OP对使用重写模块和性能存在担忧,我将提交第二个选项,它仍然可以在不使用重写模块的情况下捕获.php请求. IIS7及更高版本也支持请求过滤,根据Learn IIS,请求过滤是……
要实现,请将以下部分添加到web.config: <configuration> <system.webServer> <security> <requestFiltering> <fileExtensions allowUnlisted="true" > <add fileExtension=".php" allowed="false"/> </fileExtensions> </requestFiltering> </security> </system.webServer> </configuration> 信息来自URL Rewrite vs Request Filtering和Using Request Filtering (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET MVC图像上传存储位置(db vs filesystem)
- asp.net – 实现.NET OAuth 2.0提供程序. 2腿DotNotOpenAut
- asp.net-mvc – 无法导出Kendo Grid中的隐藏列
- asp-classic – 如何在经典的asp中制作一个预防sql注入的预
- asp.net-mvc – Web API和AngularJS SPA应用程序的身份验证
- asp.net-mvc – 是否有一个用于ASP.NET MVC的玉模板引擎?
- asp.net – Web开发.NET最佳实践
- asp.net-mvc – 在mvc3中添加url的额外参数
- asp.net-mvc – 具有html帮助的布尔隐藏和隐藏
- asp.net – 使用jquery调用webmethod时始终获得“401 Unaut
- asp.net – 实现实时UI更新的最佳方式,如SO的“新
- asp.net – 存储CheckBoxList的DataValueField值
- asp.net-mvc – 在ASP.NET MVC 5应用程序中启用S
- Oracle 时间字段显示不正确,类型错误
- asp.net-mvc – 如何在MVC 4 API中打印JSON脚本
- asp.net-mvc – 仍然支持MetaWeblog API吗?
- asp.net-mvc – ASP.NET MVC用户友好401错误
- 在ASP.NET MVC 3应用程序中编辑并继续
- asp.net – WCF数据服务还是只是WCF服务?
- 从ASP.Net页面通过C#将NetworkCredential传递给H