我的小 ASP.NET MVC 应用程序收到了很多对虚假“setup.php”页面的请求(每周轻松超过 200 个)。我猜这是一些机器人试图在网络上找到易受攻击的网站进行黑客攻击。这不是一个大问题,但它确实倾向于用垃圾填满我的错误日志,并且可能使找到需要修复的真正问题变得更加困难。
我想做的是创建一个路由来处理所有 .php 请求(以及可能其他明显虚假的扩展名)并以某种方式处理它们。最好的是立即中止请求,这样我的应用程序就不会在创建和发送响应上浪费时间/带宽(即使它只是一个 404)。此外,假设这些是恶意请求,最好让他们的服务器坐下来等待超时,而不是立即响应并迅速转移到尝试其他人的服务器:)
所以,我想这是一个两部分的问题。
最佳答案
如果您使用 IIS7 结帐 http://learn.iis.net/page.aspx/499/request-blocking---rule-template/
这也可以在您的 web.config 中指定
<system.webServer>
<rewrite>
<rules>
<rule name="RequestBlockingRule1" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{URL}" pattern="*.php*" />
</conditions>
<action type="CustomResponse" statusCode="403" />
</rule>
</rules>
</rewrite>
</system.webServer>
关于asp.net - 中止一个 asp.net 请求而不向客户端发送任何响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7852217/