如果我用php开始会话,用户可以看到带有cookie的会话变量吗?
我想在会话中保留一些用户信息设置,但我不希望用户知道它们。
感谢。
答案 0 :(得分:3)
会话数据存储在服务器上,而不是cookie中。 cookie只存储一个ID,以允许服务器查找正确的数据。
答案 1 :(得分:1)
没有。
会话数据存储在服务器上,相应的session id
将存储在Cookie
答案 2 :(得分:0)
不,SESSION变量位于服务器端,因此从客户端的角度来看,它们无法更改它们。这是我们使用Sessions而不是cookie的主要原因之一。
有关SESSION变量的更多信息,请参阅PHP.net
上的官方文档会话是一种为个人用户存储数据的简单方法 唯一会话ID。这可用于保存状态信息 页面请求之间。会话ID通常发送到浏览器 通过会话cookie,ID用于检索现有会话 数据。缺少ID或会话cookie让PHP知道创建一个 新会话,并生成新的会话ID。
默认情况下,PHP使用由设置的内部文件保存处理程序 session.save_handler。这样可以节省服务器上的会话数据 session.save_path配置指令指定的位置。
可以使用session_start()函数手动启动会话。 如果session.auto_start指令设置为1,则会话将 在请求启动时自动启动。
当PHP完成时,会话通常会自动关闭 执行脚本,但可以使用。手动关闭 session_write_close()函数。
我仍然离开这里只是因为我认为这是合法的信息,但我同意如果有的话,请先参考官方文件。如果有人可以证明以下陈述错误,我将删除它。来自W3schools:
PHP会话允许您存储用户,从而解决了这个问题 服务器上的信息供以后使用(即用户名,购物 物品等)。但是,会话信息是临时的,并且将是 用户离开网站后删除。如果你需要永久物 您可能希望将数据存储在数据库中。
答案 3 :(得分:0)
用户可以轻松获取有关会话是否已创建或网站是否正在进行会话的信息。但是用户永远无法知道会话中设置的变量。