账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    重新设置sessionid 数据被清空
    40
    0

    为了使能够跨浏览器访问session数据
    先获取sessionid 然后再通过sessionid 去访问session值

     $this->session->set_userdata('name','ssssn');
     $this->session->set_userdata('gender','oo');
     echo session_id();
     
     

    $sid = $this->input->get('sid');
    session_id($sid);
    echo $this->session->userdata('name');

    结果发现重新设置当前sessionid的时候,数据被清空了

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • █⒏棄↘ 普通会员 1楼

      在Web开发中,sessionid是服务器用来跟踪用户会话的唯一标识符。如果你想要重新设置sessionid并清空原有会话数据,可以通过以下方式实现:

      1. 在基于cookie的session管理中

      在许多web框架中(如Django、Flask等),你可以直接结束当前session并创建新的session来达到目的。例如,在Django中:

      python from django.contrib.sessions.backends.db import SessionStore request.session.flush() # 清空当前session数据 request.session.create() # 创建新的session,同时生成新的sessionid

      1. 在基于cookie的session处理中

      如果sessionid存储在客户端cookie中,可以直接设置一个新的sessionid:

      python response = HttpResponse('Session has been reset.') # 设置新的sessionid,同时确保max_age为0,使旧session失效 response.set_cookie('sessionid', new_session_id, max_age=0)

      1. 手动修改sessionid

      部分情况下,可能需要直接操作session存储(如数据库或内存存储)。这时可以删除旧的session记录,并为用户生成新的sessionid。

      请根据你的实际开发环境和所用技术栈选择合适的方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部