>백엔드 개발 >PHP 튜토리얼 >请问 验证用户是否登录 哪种方式好

请问 验证用户是否登录 哪种方式好

WBOY
WBOY원래의
2016-06-13 12:17:161079검색

请教 验证用户是否登录 哪种方式好
记住我,自动登录
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,當自動登入時,檢查是否被禁用。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.