我喜欢所谓的会话ID的想法,该会话ID被发送到浏览器并返回以进行身份验证。但是我可以在服务器端会话变量中存储更多数据,以便后续会话访问吗?我正在使用PHP。
答案 0 :(得分:10)
会话变量存储在服务器端。只有会话ID将从客户端发回。服务器将在其会话存储中查找ID并获取变量。实际变量不发送到客户端。这使得会话状态成为可伸缩Web应用程序的噩梦,因为它依赖于服务器来跟踪用户状态。你在会话中放的东西越多,你在服务器上每次会话的开销就越多。
如果要在客户端本身存储变量,则应使用cookie而不是会话。
答案 1 :(得分:2)
是。默认php安装中的会话ID实际上对应于服务器上保存所有会话数据的文件。会话ID仅是唯一用户的标识符。会话ID通常存储在cookie中。
在PHP中,在会话中存储更多数据,只需执行以下操作:
--set.php--
session_start();
$_SESSION['var1'] = 'foo';
$_SESSION['var2'] = 'bar';
--look.php--
print_r($_SESSION); // prints Array (var1 => foo, var2=>bar)
答案 2 :(得分:1)
不,据我了解,唯一转移的是会话ID,通过cookie。