关于登陆“记住我”功能

一个简单的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...

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

阅读 5.2k
2 个回答

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

别开脑洞了。

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

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

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题