PHP会话&;面试问题

PHP会话&;面试问题,php,session,cookies,Php,Session,Cookies,这是昨天采访中提出的问题之一 据我了解。。。。当用户登录到web应用程序时,我们启动一个会话并将所有数据存储在$\u会话数组中(该数组存储在服务器上,但不存储在cookie上) 当我们为登录和注册表单编写脚本时,cookies只是一个本地数据,我们没有设置任何cookies来标识用户 如果会话数据存储在服务器上而不是cookie中 我有自己的登录注册系统 1) 我第一次登录2)清除Cookie 3)刷新4)我甚至没有按下注销按钮就注销了 当我删除cookie时,如何从任何当前帐户注销 $\会话

这是昨天采访中提出的问题之一

据我了解。。。。当用户登录到web应用程序时,我们启动一个会话并将所有数据存储在$\u会话数组中(该数组存储在服务器上,但不存储在cookie上)

当我们为登录和注册表单编写脚本时,cookies只是一个本地数据,我们没有设置任何cookies来标识用户

如果会话数据存储在服务器上而不是cookie中

我有自己的登录注册系统

1) 我第一次登录2)清除Cookie 3)刷新4)我甚至没有按下注销按钮就注销了

当我删除cookie时,如何从任何当前帐户注销

$\会话和$\ COOKIES
这种情况的区别是什么?

服务器在客户端上存储一个cookie,其中包含一个标识符,用于查找存储在服务器上与当前客户端关联的数据。因此,虽然数据本身不存储在cookie中,但对数据的静态引用作为“键”存储在cookie中,以便跨请求持久化数据


这里有一篇好文章可以更深入地解释:

服务器在客户机上存储一个cookie,其中包含一个标识符,用于查找存储在服务器上与当前客户机关联的数据。因此,虽然数据本身不存储在cookie中,但对数据的静态引用作为“键”存储在cookie中,以便跨请求持久化数据


这里有一篇好文章可以更深入地解释:

这是应用服务器中的经典示例

简单地回答你的问题

应用服务器(PHP、ColdFusion等)在给定的时间托管许多应用程序。每个应用程序inturn为每个用户都有一个会话。因此,为了识别这种组合,它将会话令牌存储在cookie中。当您发出请求时,它会检查cookie中提供的信息,以与会话存储中的信息相匹配,并允许您使用该应用程序

当您删除cookie时,服务器无法识别您是否已经有会话或正在进行新的登录。它选择后者


这就是您注销的原因。

这是应用程序服务器中的经典示例

简单地回答你的问题

应用服务器(PHP、ColdFusion等)在给定的时间托管许多应用程序。每个应用程序inturn为每个用户都有一个会话。因此,为了识别这种组合,它将会话令牌存储在cookie中。当您发出请求时,它会检查cookie中提供的信息,以与会话存储中的信息相匹配,并允许您使用该应用程序

当您删除cookie时,服务器无法识别您是否已经有会话或正在进行新的登录。它选择后者


这就是您注销的原因。

PHP会话保存在名为
sess\u some\u session\u id
(例如:
sess\u vu3a4l18bkt24q5qimsav2r7d3
)的服务器文件中,并且该
some\u session\u id
将存储在名为
phpsid
的Cookie变量中。当你清理房间的时候 Cookie,PHP将无法识别属于当前用户的会话文件。
这就是您注销的原因

PHP会话保存在名为
sess\u some\u session\u id
(例如:
sess\u vu3a4l18bkt24q5qimsav2r7d3
)的服务器文件中,并且该
some\u session\u id
将存储在名为
PHPSESSID
的Cookie变量中。当你清理房间的时候 Cookie,PHP将无法识别属于当前用户的会话文件。
这就是您注销的原因

会话id保存在cookie中,no cookie=no session id=无法识别您这样想会话启动时,它会给您一个cookie,但现在每次验证会话时,您都必须显示cookie,并且它必须是该会话的cookie(相同会话id)给你的,我猜你没有得到这份工作?哦,不要重新发布,编辑()我无法理解你。会话id保存在cookie中,没有cookie=没有会话id=无法识别你这样想会话启动时,它会给你一个cookie,但现在每次会话验证时,你都必须显示cookie,并且它必须是该会话的cookie(相同会话id)给你的,我猜你没有得到这份工作?哦,不要转载,编辑()我听不懂你说的。