我需要在asp.net中阻止一个IP地址或类
任何人都可以帮我解决这些问题吗?以及如何实施?
由于
答案 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的完整文章,甚至还有一个管理区来管理它们...