日期:2014-05-17  浏览次数:20413 次

【PHP】会话存储方式详解
  作者:zhanhailiang 日期:2013-03-15

首先确认会话是否自动开启还是需要通过session_start()来手动开启:

; 指定会话模块是否在请求开始时自动启动一个会话。默认为 0(不启动)
; Initialize session on request startup.
; http://php.net/session.auto-start
session.auto_start = 0

客户端存储

在客户端,会话可以存储在cookie或者通过URL参数来获取。依赖于服务器的配置:

; 指定是否在客户端用 cookie 来存放会话 ID。默认为 1(启用)
; Whether to use cookies.
; http://php.net/session.use-cookies
session.use_cookies = 1
 
; 指定是否在客户端仅仅使用 cookie 来存放会话 ID。。启用此设定可以防止有关通过 URL 传递会话 ID 的攻击。
; This option forces PHP to fetch and use a cookie for storing and maintaining
; the session id. We encourage this operation as it's very helpful in combatting
; session hijacking when not specifying and managing your own session id. It is
; not the end all be all of session hijacking defense, but it's a good start.
; http://php.net/session.use-only-cookies
session.use_only_cookies = 1

如果确认存储在cookie中,则可以进一点配置会话存储在cookie中的各项配置,如cookie_name,cookie_lifetime,cookie_path,cookie_domain,cookie_secure,cookie_httponly