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 – RedirectToAction导致在ASP.NET MVC 3中“路
- asp.net-mvc – 在ASP.NET MVC 4中的用户控制等效
- asp.net-mvc – 使用asp.net mvc 2功能与火花浏览引擎
- asp.net-mvc – UpdateModel前缀 – ASP.NET MVC
- 配置 – 升级到ASP.NET 4.5后出现404错误
- asp.net-mvc – 在ASP.NET MVC中实现“记住我”功能
- asp.net – Web部署错误到IIS – 应用程序池managedRuntime
- asp.net-mvc – 使用IIS 7重写模块重写Ampersand URL
- asp.net-mvc – 实体框架包含OrderBy随机生成重复数据
- .net – 比较文本并获得差异
- asp.net – 如何在iframe中提交后刷新iframe父页
- ASP.Net Gridview,如何激活基于ID的编辑模式(Dat
- asp.net-mvc-5 – 如何添加声明在ASP.NET身份
- ASP.NET Web API请求完成后如何处置资源?
- asp.net-mvc – delphi web服务从.net mvc应用程
- asp.net-mvc-3 – outputcache mvc3只注销了用户
- 如何在ASP.Net MVC中执行301永久重定向路由
- asp.net-mvc – ASP.NET MVC局部视图慢?
- 以编程方式获取当前的ASP.NET信任级别
- asp.net-mvc – ASP.NET MVC和IIS 5
