Maison >développement back-end >tutoriel php >请问 验证用户是否登录 哪种方式好
请教 验证用户是否登录 哪种方式好
记住我,自动登录
1、纯cookie加密(假设不知道key的情况下无法解密)
cookie2个部分
1是加密的用户基本信息,如id、group、登录时间、过期时间
2是不可逆的hash,用id、浏览器特征、用户唯一rand、key组成
问题:禁用某个用户,或所在用户组到期后,在过期时间前,用户仍然可以通过登录验证并自由活动。
2、cookie+session
问题:同1
3、cookie+数据库
问题:每个验证的页面均需要读取数据库,后期压力大,感觉不是好方案
4、cookie+自定义session缓存文件
用户初次登录后,用户表写入session文件名,当禁用某个用户后,执行重写对应session文件
问题:更新用户信息后,如更改用户组,需要同时判断是否有缓存文件,然后做对应更新
5、cookie+缓存表
用户初次登录后,写入缓存表,当禁用某个用户后,更新对应缓存表
问题:更新用户信息后,如更改用户组,需要同时判断缓存表然后做对应更新。
6、cookie+memcached类缓存
问题:小内存或虚拟主机不合适
7、感谢补充
------解决思路----------------------
推荐session
------解决思路----------------------
2比較好,把禁用的用戶寫入cache,當自動登入時,檢查是否被禁用。