0

我在 asp.net 中开发了一个电子商务网站,它有一个由站点管理员管理的管理面板。由于我从客户那里得到了要求,管理面板应该只能在他的办公系统中访问,任何人都可以帮助我解决这个问题,我该如何限制单机。据我所知,我可以通过 Internet 协议地址进行限制,但客户端没有静态 Internet 协议并且无法通过 mac 地址验证,因为它仅适用于 IE。所以,请建议我们如何实现这一目标。

4

2 回答 2

1

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

(以下建议仅基于真实的个人经验,因此有些主观,但我的理念是永远不要帮助客户在脚下开枪,无论他们想付多少钱给我。)

如果发生以下任何一种情况,您的客户将无法在没有您帮助的情况下管理他的网站:

  • 他的电脑爆炸了。
  • 他的办公室被闯入,他的电脑被偷了。
  • 他的办公室停电了。
  • 他病了,需要在家工作。
  • 洪水/火山/僵尸启示录。
  • 客户去度假了,想从游泳池旁使用一个设备对站点进行更改,无论出于何种原因,该设备不支持相关证书,或者他不认为要求您安装证书。
  • 等等

墨菲定律表明,上述任何或所有情况都将发生在您不可用/真的不想处理它/忙于为另一个客户工作的确切时间

如果您的客户真的想要安全地访问站点的管理部分,那么通过 HTTPS 设置特定的管理登录部分不会出错。没有人可以通过这种方式合理地“通过网络”窃取他的登录凭据......如果客户担心有人可能会以某种方式通过键盘记录器、肩上等方式窃取他的用户名+密码,那么这取决于他不要从不安全的计算机(网吧等)访问该站点。

如果他坚持只能从那台特定的机器上访问它,那么他必须决定是吃蛋糕还是吃蛋糕——要么获得静态 IP 地址!

于 2013-10-10T07:58:33.113 回答
0

如果可能,创建一个小的 windows 应用程序并将其安装在 Office 机器上

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

字符串 包含机器的当前 IP 地址

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

第二步 ....

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

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

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

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

于 2013-10-09T13:10:51.247 回答