如何在ASP.NET中阻止IP地址或IP类

时间:2010-05-23 20:07:32

标签: asp.net security

我需要在asp.net中阻止一个IP地址或类

任何人都可以帮我解决这些问题吗?以及如何实施?

由于

3 个答案:

答案 0 :(得分:4)

您可以使用HttpRequest.UserHostAddress property获取客户端的IP地址(可以从任何页面使用this.Request或使用静态属性HttpContext.Current访问实例。)

据我所知,没有标准方法可以将IP地址与指定范围进行比较,因此您需要自己实现此位。

您可能希望针对每个请求进行检查,这可以在每个页面的OnInit方法(您要阻止)或应用程序的BeginRequest event中进行(通常在Global.asax)。

如果您检测到阻止的地址,则可以使用Server.Transfer method输出空(占位符)页面(Response.End将是另一种选择,但这只会切断页面 - 返回空白页面,而{ {1}}允许您向客户端输出一些消息。

答案 1 :(得分:4)

如果“阻止”的意思是“不要让他们骚扰我的服务器”,这不是asp.net问题,你需要防火墙(软件或硬件)。

如果“阻止”的意思是“不显示我的页面”:

' pseudocode, I haven't checked the exact syntax

Sub Page_Load()
    If HttpRequest.UserHostAddress = "123.123.123.1" then
        Response.Redirect "404.htm" ' send them elsewhere
    end if
End Sub

答案 2 :(得分:0)

你提到你并不熟悉ASP.NET,所以,这篇来自Rick的优秀文章可以帮助你,因为它可以作为一篇关于如何阻止IP的完整文章,甚至还有一个管理区来管理它们...

  

http://www.west-wind.com/WebLog/posts/59731.aspx