一个简单的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...
不知道各位大侠有没有办法?
谢谢
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
开个脑洞 是不是可以写个js 用beforeunload或者unload事件清除cookie。
别开脑洞了。
“如果用户选择了 记住我,设置 cookie uid, 过期1个月” ??? [懵逼脸] ???
但是,session呢??? [懵逼脸] ???
所以,不想“记住我”的,session也会保留一个月??? [懵逼脸] ???
这是后端设计的问题,根本不是前端的问题。
有些浏览器可以设置,禁用Cookie,又该怎么开脑洞呢?
记住的,不记住的,Session过期时间不一样,有那么难吗??? [懵逼脸] ???