如何在asp.net中限制用户访问单台机器上的网站

时间:2013-10-09 12:52:12

标签: javascript asp.net c#-4.0 restriction

我在asp.net开发了一个e-com网站,它有一个由网站管理员管理的管理面板。由于我已经得到客户的要求,管理员面板应该只能在他的办公系统中访问,任何人都可以帮我这个,我怎么能限制单机。据我所知,我可以通过互联网协议地址限制,但客户端没有静态互联网协议,无法通过mac地址验证,因为它只适用于IE。所以,请建议我们如何实现这一目标。

2 个答案:

答案 0 :(得分:1)

你可以使用证书,但老实说,我建议将一个正常运作的业务的管理部分的访问权限绑定到一个特定的设备上是一个坏主意。

(以下是建议仅基于真实的个人经验,因此有些主观,但我的理念是永远不会帮助客户自己在脚下射击,无论他们多么愿意付钱给我。)< / p>

如果出现以下任何情况,您的客户将无法在不向您提供帮助的情况下管理其网站:

  • 他的电脑爆炸了。
  • 他的办公室被闯入,他的电脑被盗了。
  • 他的办公室停电了。
  • 他病了,需要在家工作。
  • 洪水/火山/僵尸大灾难。
  • 客户去度假,并希望使用无论出于何种原因不支持相关证书或他认为不会要求您安装证书的设备,从池旁边对站点进行更改。

墨菲定律表明,上述任何一项或全部将在您不可用的时间发生/实际上不想处理它/忙于为另一个客户工作

如果您的客户确实想要安全访问网站的管理部分,那么通过HTTPS拥有特定的管理员登录部分就不会出错。 没有人可以通过这种方式合理地窃取他的登录凭证......如果客户担心某人可能以某种方式窃取他的用户名+密码,通过键盘记录器,肩膀等等,那么它就是了他不能从不安全的电脑上访问该网站(网吧等)。

如果他坚持只能从那台特定的机器上访问,那么他必须决定是否想要他的蛋糕或吃它 - 要么得到一个静态的IP地址呢!

答案 1 :(得分:0)

如果可能创建一个小型Windows应用程序并将其安装在Office计算机

Windows应用程序应创建指向网站URL的动态链接以及查询

string包含机器的当前IP地址

(例如)URL =“http://www.yourdomain.com?ip=”+包含客户端当前ip的Stringvariable

第二步....

在您的Web应用程序中检查Request.IPAddress将其与查询字符串地址进行比较

String ipAddress =
        System.Web.HttpContext.Current.Request.UserHostAddress;

if(ipAddress==ipAddressFromQueryString)
// Continue Processing
else
// UnAuthorized Accesss

注意:您应该在Windows应用中加密查询字符串并在Web应用程序中解密