我想知道PHP会话数据保存在哪里;它在客户端浏览器中吗?还是在服务器上?
当我在浏览器设置中禁用cookie时,PHP不能保存会话数据,但在php.ini中,我可以更改会话保存路径。
会话数据是存储在服务器还是客户端浏览器上?
发布于 2011-04-08 17:52:55
使用$_SESSION读写的会话数据存储在服务器端,通常存储在临时目录中的文本文件中。无法从外部访问它们。
将会话连接到客户端浏览器的是会话cookie ID,它通常存储在中(有关该规则的例外,请参阅注释)。这个ID是并且应该是客户端上存储的关于您的会话的唯一内容。
如果在浏览器中删除cookie,则与该会话的连接将丢失,即使该文件在服务器上继续存在一段时间也是如此。
session.save_path变量影响服务器上存储会话数据的位置。如果您不是服务器管理员,则通常不需要对其进行更改。
发布于 2011-04-08 17:53:06
两者都有!会话将实际的会话信息保存在服务器上,但会向客户端提供标识cookie,以了解哪个会话属于哪个客户端。cookie本身中的信息毫无价值,但允许服务器识别客户端并使用实际的会话信息。
发布于 2017-07-06 02:44:19
Blockquote“会话数据是存储在服务器还是客户端浏览器上?”
这让我想到了代客停车系统。代客(服务器)保存着你的汽车(会话数据),但他/她会给你一张罚单(会话id),以证明当你需要访问它时,这辆车是你的。如果你丢失了车票(通过删除缓存或关闭浏览器),你的汽车(会话数据)就会消失,因为你不能再证明它是你的汽车了。
好吧,这只是一个analogy...and很快就坏了。例如,你实际上并不像拥有你的汽车那样拥有你的会话信息。你不能把它赶走。
https://stackoverflow.com/questions/5593359
复制相似问题