Session作用域和作用时间问题

Session作用域和作用时间问题

经过几次的 cookie和session测试,我发现了如下规律

  1. 只要设置了cookie保存时间,关闭再重开浏览器不会影响cookie使用

  2. session只要关闭重启浏览器就会失效,因为 重启浏览器后,浏览器访问对应URL时提交的Request与没重开之前改变了,极有可能与浏览器的PID等等相关联。

  3. 总结,Session无法长期使用,因为只要重启(甚至换一个)浏览器必定会导致 Request不同,从而导致SessionID不同,即重启浏览器直接导致登录状态无效

  4. 问题为: 如果我上面的分析是正确的,(1)那么如何利用Session保存7天登录状态?  

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,为了cookie数据的安全,同学可以将cookie中的数据进行加密,或在后期学习到数据库时,同学可以将sessionID添加到数据库中(在数据库中设置一个字段为有效时长,当超过这个是个时间就 重新生成sessionID)。

注:一般情况下,实现7天免登录使用的是cookie方式。同学可根据需求具体选择使用那种方式。

祝学习愉快!

好帮手慕小尤 2020-07-24 18:42:19

同学你好,1. 同学理解是正确的。

2. 实现7天免登录实现思路:

    当用户登陆成功时,生成session然后将sessionId保存到cookie中并为其设置有效时间,当session失效时,就可以在cookie中获取数据。从而实现7天免登录。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 py_builder #1
    给cookie设置有效时间是有用的,但给session设置时间就变得毫无意义了,每次重启浏览器上一次的sessionID就已经找不回来 或者说 必须重置使其失效 那么七天免登录似乎只能用cookie实现?? 但课程开始又说将账号密码保存在cookie里面不安全,用session又不能解决长期保存登录状态,自相矛盾?
    2020-07-24 19:52:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师