您好我需要实施某些操作以阻止用户从未经授权的其他计算机或移动设备连接到网络应用程序,例如,如果用户正确输入用户名和密码,并且公司授权的计算机或移动设备授予权限访问,但如果用户在另一台计算机或移动设备上,则必须拒绝登录webapp。
此外,用户可以在任何地方连接到互联网并使用此网络应用程序,但仅限于使用授权设备执行此操作。
我想用mac地址来完成这个,但我不知道这是不是正确的做法。
所以有人有任何建议吗?
编辑:此网络应用是一个内部应用程序,可以访问公司的销售和库存,因此公司提供的唯一设备可以访问网络应用程序。
答案 0 :(得分:1)
MAC地址是一个糟糕的选择,因为伪造它是相当简单的(除了通过javascript获取它的困难)。几乎所有方案都会出现这个问题,因为您依靠用户控制的内容来告诉您该设备已获得授权。 Cookie,即使是“随机”的,也有同样的伪造问题。
如何授权设备?它需要多安全?为什么访问仅限于授权设备?
我在这里看到两种可能性:
真正安全的实施可能会使用公钥加密和来自授权设备的某种签名。即使是签名也可以伪造,特别是对于基于浏览器的解决方案,这就是为什么这么多公司对trusted platform module感兴趣的原因。
答案 1 :(得分:0)
如果不访问java插件,本机编程,活动x等,您无法直接获取设备的mac地址。
执行此类操作的常用方法(阅读Facebook检测到您之前未从某个位置登录时)操作系统在已授权的设备上设置Cookie。在服务器上存储这些cookie的列表,并检查以确保在用户尝试使用该设备时获得正确的cookie。 cookie应该是随机的,几乎没有碰撞的机会。每次用户使用新值登录时,您甚至可能会喜欢并更新cookie。基本上,您所寻找的与“记住我”登录系统完全相同。