PHP 中的会话控制使用指南
1. 会话控制概述
HTTP 是一种无状态协议,意味着它无法在两个事务之间维持状态。当用户先后请求两个页面时,HTTP 无法判断这两个请求是否来自同一用户。而会话控制的目的就是在用户访问网站的一次会话期间跟踪用户。通过会话控制,我们可以实现用户登录、根据用户权限或个人偏好显示内容、跟踪用户行为以及实现购物车等功能。
在早期的 PHP 版本中,会话控制是通过 PHPLib(PHP 基础库)实现的,它至今仍是一个有用的工具包,相关信息可查看 PHPLib 官网 。从 PHP 4 版本开始,PHP 内置了会话控制函数,其概念与 PHPLib 类似,但 PHPLib 提供了一些额外功能。如果内置函数不能满足需求,可以考虑使用 PHPLib。
2. 基本会话功能
PHP 中的会话由唯一的会话 ID 驱动,这是一个加密随机数。会话 ID 由 PHP 生成,并在会话期间存储在客户端。它可以存储在用户计算机的 cookie 中,也可以通过 URL 传递。
会话 ID 作为一个密钥,允许将特定变量注册为会话变量,这些变量的内容存储在服务器端。在客户端,只能看到会话 ID。当用户访问网站时,如果通过 cookie 或 URL 能看到会话 ID,就可以访问服务器上为该会话存储的会话变量。默认情况下,会话变量存储在服务器的平面文件中(如果愿意编写自己的函数,也可以将其存储在数据库中,后续“配置会话控制”部分会详细介绍)。
你可能使用过在 URL 中存储会话 ID 的网站,如果 UR