这是贯彻落实“记住我”功能,以合理的方式
-
22-08-2019 - |
题
如果一个用户登录到该网站,并说“记住我”,我们得到了用户的唯一标识符,与RijndaelManaged的具有256的密钥长度加密这个并将此与发言权的一组期满的HttpOnly的cookie。 120天,期满被刷新每个成功的请求到服务器。
可选地,我们生成基于IPv4地址(最后两个八位字节)。
的用户代理和部分初始化向量显然,那里有内置到这个没有真正的到期系统,用户可以在技术上永远使用这个加密的密钥(假定我们不改变服务器端密钥)..
我认为的事实,允许使用此功能,我需要让用户可以绕过登录,给我的唯一的ID(这是一个GUID),我想通了GUID独显真的很难猜一个真正的用户的GUID,但将离开工地开放的botnots产生的GUID(我不知道它是多么现实,让她们找到一个合法的GUID)攻击..所以这就是为什么那里有所在服务器知道加密密钥加密,并任选的IV是特定于浏览器和IP部分。
我应该考虑对于相关用户服务器发出的票了不同的方法,所以服务器停留在到期控制这些票将有一个已知期限吗?我应该真正关心过期?记得我是记得我毕竟?
期待被自卑;), 欢呼声。
其他提示
你有没有考虑像公开识别码?作为SO使用。
如何重要的是被记住的信息?如果它不会是什么很个人的或重要的,只要把一个GUID在cookie中。
在计算中包括的IP地址可能是一个坏主意,因为它会使用公共网络的用户可以立即忘记了。
使用蛮力找到的GUID是荒谬,因为有2 128 的可能性。
不隶属于 StackOverflow