0

目前我还没有编写任何代码,因为我正在寻找如何实现以下目标的最佳实践。

以 Facebook 为例,它可以识别一个“已知”的浏览器(即之前已经登录过的浏览器)和一个不是(即之前没有登录过)的浏览器以及之前没有登录过的浏览器要求输入确认码。

什么方法最适合“识别浏览器”?一个唯一生成的 cookie 可以存储在浏览器上,用户代理可以存储吗?我不确定存储 IP 的价值,因为大多数都是动态的。

任何建议将不胜感激。

4

1 回答 1

0

我建议不要要求用户验证他们使用的每个浏览器 - 特别是因为即使像清除 cookie 这样简单的事情也可能导致问题。

我相信 Facebook 会根据地理位置数据库检查您的 IP,以大致了解您在世界上的位置。如果您的位置发生重大变化(即超出工作或学校的合理范围),那么它将锁定您的帐户并要求您确认您的身份。

通过这种方式,您可以获得一些“区域”,您可以告诉 Facebook 可以这样做。如果您有一段时间没有去过某个地区,它可能会将其从允许列表中删除(因为您可能只是在度假或其他地方)

综上所述,我个人认为工作量太大,不值得。如果用户已经有一个密码来保护他们的账户,那么(假设你在你的数据库中正确地散列了它)维护他们的账户安全完全是用户的责任。如果您在密码“password”后面发布您的照片和个人信息,您应该会惊讶地发现它被盗。

于 2013-06-25T10:26:30.687 回答