关于服务器如何维护特定用户的唯一性的 PHP 会话



PHP 会话将数据存储在服务器上,并从客户端计算机获取会话 ID。我一直有疑问的是,假设我创建了一个 Web 应用程序,其中登录时用户电子邮件 ID 存储在会话变量中。现在,如果此应用程序部署在公共服务器上,并且当两个用户登录时,服务器如何区分用户?因为它是相同的会话变量,将用于存储其电子邮件 ID。如果完全避免覆盖,什么过程可以避免覆盖?

SessionID 存储在 HTTP 会话 cookie 中(

即仅在浏览器"会话"期间可用的瞬态 cookie,并存储在浏览器的内存中);当用户第一次显示您网站的页面(甚至没有登录)时,服务器会生成一个包含新的(和唯一的)SessionID 的 cookie,并在此 cookie 中发送到客户端。然后,客户端和服务器将在所有会话期间使用此 cookie 在所有消息上添加此 cookie 进行通信。

存储在 $_SESSION 变量中的所有数据都会自动存储在单独的内存空间中,具体取决于 SessionID。事实上,它主要类似于$_SESSION[SessionID],但由PHP透明地管理。

您可以在 PHP 文档站点中阅读有关 PHP 会话的更多信息

最新更新