gpt4 book ai didi

asp.net-mvc - 拒绝/终止特定 URL 请求的最佳实践 ASP.Net IIS 7.5

转载 作者:行者123 更新时间:2023-12-03 03:04:16 34 4
gpt4 key购买 nike

我有一个 mvc/forms 混合 Web 应用程序托管在 Azure 上的 Windows 2008 r2 实例上。网络服务器是 IIS 7.5 。在过去的 4-5 个月里,我的服务器受到漏洞扫描器检查 php 相关漏洞的严重攻击。示例:

The controller for path '/wp-login.php' was not found or does not implement IController.

来自埃尔玛

所以我在 IIS 7.5 中专门过滤了 .php 和 .cgi 文件扩展名请求,效果非常好。然而,我仍然因为以下请求而受到重创:

The controller for path '/admin/Cms_Wysiwyg/directive/' was not found or does not implement IController. 

The controller for path '/phpmyadmin2018/' was not found or does not implement IController.

等等。更让人烦恼的是,所有内容都会被记录下来,返回 404,这都是无用的资源浪费。

通过 Elmah,我查询了与所有这些请求相关的 URL 的不同列表。缩短这些请求的最佳方法是什么?如果我可以选择禁止这些 IP,那就太好了,但现在仅在过去 3 个月就有 700 个唯一的 IP 发出这些请求。主要优先事项是短路来 self 知道是伪造的 URL 字典的请求,并避免来 self 的网络服务器的日志记录和响应。谢谢!

最佳答案

半伪代码,但我认为这会有所帮助;

在 Global.asax.cs 中:

public class MvcApplication : HttpApplication
{
protected void Application_BeginRequest(Object sender, EventArgs e)
{
var url = HttpContext.Current.Request.Url.AbsoluteUri;
if(checkUrl(url)){
// your code here
}

if (UserIsBanned(GetUserIp()))
{
Response.Write("ban");
Response.End();
}
}

private string GetUserIp()
{
return HttpContext.Current.Request.UserHostAddress;
}

关于asp.net-mvc - 拒绝/终止特定 URL 请求的最佳实践 ASP.Net IIS 7.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45966044/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com