来源是http://jaspan.com/improved_persistent_login_cookie_best_practice
请建议改进(方法的更改)。在这里,我只想在cookie中存储用户名,这样用户就不需要输入用户名了。以黑客无法从被盗cookie中识别用户名的方式存储(如果可能的话)
如果用户选中记住我并成功登录
1)根据用户名创建内容。例如$ username_for_cookie = MD5($ username)。$ salt; +可能是其他东西。在mysql中记录$ username_for_cookie
2)创建标识符。简单随机值。在mysql中记录indetifier
3)创建令牌。也是简单的随机值,也可以在mysql中记录。
4)创建cookie,将所有上述值放在一起$ username_for_cookie。 $ identifier。$ token
Cookie名称也可以是随机值或类似_ekglasjd
用户重访网站
1)检查cookie是否存在
2)如果cookie存在单独的$ username_for_cookie。 $ identifier。$ token获取3个分隔值
3)在mysql中搜索$ username_for_cookie值是否存在。如果不存在,请登录表单输入用户名和密码。如果存在,则比较$ identifier和$ token是否与mysql中的相同
这种方法“安全”吗?需要改进什么?
答案 0 :(得分:0)
您可以通过执行以下操作来改进此功能。