PHP会话

PHP会话,php,session,Php,Session,我有一个简单的登录系统。 例如,localhost/login.php 我正在使用会话,请记住用户之前是否登录过。我尝试清除firefox浏览器历史记录并刷新当前页面管理员面板页面,该页面将转发到登录页面 我想知道为什么我只是清除浏览器历史记录,会话也将被删除? 会话存储在服务器中。如上所示 会话使用cookies保存会话id值。因此,当您清除浏览器缓存/cookies/历史记录时,它也会清除会话id并生成一个新的会话id 如图所示 会话使用cookies保存会话id值。因此,当您清除浏览器缓存

我有一个简单的登录系统。 例如,localhost/login.php 我正在使用会话,请记住用户之前是否登录过。我尝试清除firefox浏览器历史记录并刷新当前页面管理员面板页面,该页面将转发到登录页面

我想知道为什么我只是清除浏览器历史记录,会话也将被删除? 会话存储在服务器中。

如上所示

会话使用cookies保存会话id值。因此,当您清除浏览器缓存/cookies/历史记录时,它也会清除会话id并生成一个新的会话id

如图所示


会话使用cookies保存会话id值。因此,当您清除浏览器缓存/cookies/历史记录时,它也会清除会话id并生成一个新的会话id

是会话存储在服务器上。但对sessionsession_id的引用存储在cookie的客户端。当您使用cookie清除浏览器历史记录时,您将丢失服务器上会话存储的引用id。

是会话存储在服务器上。但对sessionsession_id的引用存储在cookie的客户端。当您使用cookie清除浏览器历史记录时,您将丢失服务器上会话存储的引用id。

这是因为会话通常依赖存储在客户端浏览器中的cookie来识别客户端并将其链接到存储的会话。删除历史记录后,会话仍然存在于服务器上,但不再链接到客户端


会话也可以设置为在URL中使用GET变量而不是cookie。但这通常被认为是一种安全风险,因为用户有时倾向于将其URL发送给其他人。

这是因为会话通常依赖存储在客户端浏览器中的Cookies来识别客户端并将其链接到存储的会话。删除历史记录后,会话仍然存在于服务器上,但不再链接到客户端


会话也可以设置为在URL中使用GET变量而不是cookie。但这通常被认为是一种安全风险,因为用户有时倾向于将自己的URL发送给其他人。

我同意马亨德拉的观点。$\u会话[]存储在服务器上,但引用存储在客户端,因此当您清除会话时,客户端会话没有任何值可与会话进行比较,因此它也会清除服务器会话


使用unset$\u SESSION[]清除指定的会话对象

我同意Mahendra的观点。$\u会话[]存储在服务器上,但引用存储在客户端,因此当您清除会话时,客户端会话没有任何值可与会话进行比较,因此它也会清除服务器会话


使用unset$\u SESSION[]清除指定的会话对象

是否清除了包括cookie在内的历史记录…?关闭浏览器后,会话将被删除。这是为了做到这一点。对不重要的数据使用cookie或html localStorage。是否清除了包括cookie在内的历史记录…?关闭浏览器后将删除会话。这是为了做到这一点。对非重要数据使用cookie或html本地存储。并非100%准确。它清除了cookie,这基本上意味着客户端不再有任何会话句柄。确切地说,也许我没有用正确的方式解释它,但我想这是可以理解的。不是100%准确。它清除了cookie,这基本上意味着客户端在任何会话上都没有任何句柄。确切地说,也许我没有用正确的方式解释它,但我想这是可以理解的。