php处理session流程、注意事项和安全管理详解

php处理session处理流程图

php处理session流程、注意事项和安全管理详解

注意事项

  • session.gc_maxlifetime 指定过了多少秒之后数据就会被视为“垃圾”并被清除。 垃圾搜集可能会在 session 启动的时候开始(可能是取决于session.gc_probability 和 session.gc_divisor)
  • session.gc_maxlifetime 使用file 存储数据的时候 maxlifetime 取决于gc 的垃圾回收机制(如上),但是当save_handler 使用了redis 的时候,当数据到达了maxlifetime 必然被删除(如ci 框架用法)

安全事项

和安全相关的配置
  1. session.cookie_lifetime=0
    浏览器不可持久化cookie上的sessionid 数据,当关闭浏览器的时候 删除 sessionid
  2. session.use_cookies=On/session.use_only_cookies=On
    默认 用http cookie 或者只允许 用http cookie 来管理 会话id
  3. session.cookie_httponly=On
    只允许 http访问 cookie 防止被js 盗取
  4. session.use_strict_mode=On
    此设置防止会话模块使用未初始化的会话 ID。 也就是说, 会话模块仅接受由它自己创建的有效的会话 ID, 而拒绝由用户自己提供的会话 ID