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

how to restrict a user to access website on single machine in asp.net

本文关键字:计算机 单台 访问 网站 用户 asp net      更新时间:2023-09-26

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

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

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

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

  • 他的电脑爆炸了。
  • 他的办公室被闯入,电脑被盗。
  • 他的办公室停电了。
  • 他生病了,需要在家工作。
  • 洪水/火山/僵尸启示录。
  • 客户去度假,并希望使用出于某种原因不支持相关证书的设备或他没有想到要求您安装证书的设备从池旁边对站点进行更改。
  • 等。

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

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

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

如果

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

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

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

(例如( URL ="http://www.yourdomain.com?ip="+包含客户端当前 ip 的字符串变量

第二步....

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

String ipAddress =
        System.Web.HttpContext.Current.Request.UserHostAddress;
if(ipAddress==ipAddressFromQueryString)
// Continue Processing
else
// UnAuthorized Accesss

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