asp.net - 中止一个 asp.net 请求而不向客户端发送任何响应

标签 asp.net asp.net-mvc

我的小 ASP.NET MVC 应用程序收到了很多对虚假“setup.php”页面的请求(每周轻松超过 200 个)。我猜这是一些机器人试图在网络上找到易受攻击的网站进行黑客攻击。这不是一个大问题,但它确实倾向于用垃圾填满我的错误日志,并且可能使找到需要修复的真正问题变得更加困难。

我想做的是创建一个路由来处理所有 .php 请求(以及可能其他明显虚假的扩展名)并以某种方式处理它们。最好的是立即中止请求,这样我的应用程序就不会在创建和发送响应上浪费时间/带宽(即使它只是一个 404)。此外,假设这些是恶意请求,最好让他们的服务器坐下来等待超时,而不是立即响应并迅速转移到尝试其他人的服务器:)

所以,我想这是一个两部分的问题。

  • 是否可以简单地停止处理 ASP.NET/MVC 中的请求而不发送响应
  • 这个问题有更好的解决方案吗?
  • 最佳答案

    如果您使用 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/

    相关文章:

    mysql - 如何使用 MySQL 设置 ASP.NET MVC 2?

    jquery - MVC中的ModelBinding参数列表

    asp.net - Visual Studio-阻止停止关闭Internet Explorer的调试

    javascript - 为什么我收到此消息 'Telerik is undefined'?

    javascript - 使用 Response.Write JSON 输出从 Jquery 调用 c# asmx Web 服务

    asp.net-mvc - 在 Orchard CMS 中使用 ShapeHelper 生成形状 - 找不到类型

    javascript - Ajax 调用不起作用这段代码有什么问题?

    c# - 在ASP.NET C#中读取表单变量时出现问题

    c# - 如何修改 CompositeControl 的 ClientId,消除所述 ID 的呈现,而不影响 ChildControls?

    c# - 如何使用 ServiceStack.net Web 服务在 AppHarbor 上配置 SSL