如何可靠地检测用户是否使用新设备连接到站点?

时间:2015-09-02 17:55:11

标签: security authentication web

我有一项要求,即只要注册用户使用新设备/浏览器登录网站,就会获得电子邮件(或SMS)验证,类似于Salesforce正在进行的操作。

目标是减少某人滥用用户帐户的机会,但与此同时不应对用户造成滋扰。

检测请求是否来自新设备的可靠机制是什么?

一种方法是使用IPAddress,但这会导致某人的互联网连接获得动态IP时出现问题,而移动设备会在移动到新位置时获得新IP。 该设备上的所有浏览器(FF / Chrome / IE)的优势是经过单一确认授权。

其他方式是使用持久性cookie(没有滑动到期),缺点是必须为不同的浏览器重复确认。 (虽然这不是一个很大的问题,但不是一个很大的问题)。

第三种选择是上述两种混合解决方案。

我的问题是,是否有可接受的机制来执行此操作?检测某人是否正在使用新设备连接到该站点的可靠方法是什么(虽然不一定是防弹)?还有其他建议吗?

1 个答案:

答案 0 :(得分:2)

我选择Cookie

通常会共享IP地址。除了通过网络上的浏览器之外,还没有真正识别计算机的方法。

Cookie值应包含用户名和用户名的HMAC(也可能是nonce)。

用户注册或登录成功后,发送设备cookie。如果他们试图在没有设备cookie的情况下登录,他们可能以前没有使用过该浏览器。