对于C/S模型一种一点用户体验不好的地方就是每次都要登录。为了解决这个问题,几乎所有的网站都开发了记住我的功能。
然而这里面如果开发不慎会存在很多的安全问题。
其实记住我功能就是利用了 cookie 并设置保存时间,那么每次用户访问网站只要判断这个cookie是否存在以及值是否正确就可以了。
总结需要注意的有以下几点:
1. 切不可以把 用户名和密码即使加密后 直接存到cookie 中
2. 认证保存时间不可以太长一般例如记住我一周
3. 设置 http only
4. 用户注销不要忘记同时销毁这个凭证 cookie
5. 保存记住我功能的cookie 的 name最好也不是个让人一眼看到就知道他的用途的
6. cookie 值最好是随机的,即每次使用记住我的得到的cookie 不一样,例如如果你只是 hash(name+password) 那么每次都一样
还有什么需要补充的,望不吝赐教。 o(∩_∩)o
此文章通过 python 爬虫创建,原文是自己的csdn 地址: php 开发记住我功能