php - 关于登陆“记住我”功能
高洛峰
高洛峰 2017-04-11 10:09:21
[PHP讨论组]

一个简单的php登陆记住我功能。
php session 记住数据 uid,设置过期1个月,php session_id 在cookie里过期也是1个月。

如果用户选择了 记住我,设置 cookie uid, 过期1个月,如果没有选择记住,不设置超时, 浏览器关闭就失效。

服务端靠 $_cookie['uid'] 和 $_session[uid] 判断是否匹配来判断用户是否登陆。

流程似乎没有问题,在ie/edge 下也没有问题, 但是在 firefox和chrome下, 居然cookie都是不过期的。
后来查了发现这个问题, chrome 和firefox 在某些情况下,不清除session cookie,详细见:
http://stackoverflow.com/ques...

不知道各位大侠有没有办法?
谢谢

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
高洛峰

开个脑洞 是不是可以写个js 用beforeunload或者unload事件清除cookie。

巴扎黑

别开脑洞了。

“如果用户选择了 记住我,设置 cookie uid, 过期1个月” ??? [懵逼脸] ???

但是,session呢??? [懵逼脸] ???

所以,不想“记住我”的,session也会保留一个月??? [懵逼脸] ???

这是后端设计的问题,根本不是前端的问题。

有些浏览器可以设置,禁用Cookie,又该怎么开脑洞呢?

记住的,不记住的,Session过期时间不一样,有那么难吗??? [懵逼脸] ???

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号