2010-04-20 135 views
2

任何人都知道阻止某些用户(通过IP)访问您的网站(asp.net mvc上的网站)。如何阻止某些IP(用户)访问我的网站?

编辑: 我知道,网络服务器可以做到这一点为好,但我需要这个应用程序级别

+3

这最好通过服务器配置而不是编程完成,投票转移到http://serverfault.com。 – 2010-04-20 12:31:36

+2

是的,它可能在服务器上“最好”完成,但有时候审核工具无法设置服务器配置,并且您需要应用程序来处理重定向被阻止的用户。 – 2010-04-20 12:33:43

回答

4

最好在Web服务器上这样做。

但是,如果您想要在代码中执行该操作,则可以处理Application.BeginRequest事件,请检查Request.UserHostAddress,并致电Response.End

+0

请注意IP很容易被欺骗。 – Nix 2010-04-20 12:35:34

+0

@Nix:我不相信,在这种情况下。在ASP.NET应用程序获取请求之前,必须启动有效的HTTP会话,并且在此之前必须完成TCP握手。这不会发生欺骗IP。 – VladV 2010-04-20 13:18:03

+0

这是可能的...(http://stackoverflow.com/questions/1835343/from-the-perspective-of-an-asp-net-web-form-can-the-request-userhostaddress-be-t) [欺骗] – Nix 2010-04-20 13:48:17

1

IIS允许您指定的IP黑名单。

1

如果您想在应用程序级别执行此操作,您可以从Request.UserHostAddress获取用户IP,然后在IP保存在您已保存的列表中的情况下,将其重定向到希望他们去的任何位置。