1

嗨,我是一名 php 程序员。我在面试中被问到一个问题,会话存储在客户端计算机上的浏览器/cookie文件中,然后服务器如何识别我从我自己的PC登录的同一用户,我必须只显示属于的信息我?请帮忙。

4

5 回答 5

4

当您登录系统(或会话开始)时,会创建唯一的会话 ID,它通常存储在cookie中。这将识别您的浏览器。

然后,服务器使用此会话 ID从服务器获取数据。

于 2013-05-02T06:18:23.770 回答
3

SESSION存储在服务器端,而不是客户端。

SESSION存储PHPSESSID在客户端COOKIE以识别相应的用户。

于 2013-05-02T06:18:33.520 回答
1

Session are stored on server side. and every time login session generate a unique session id. the session id server identifies the user. $_SESSION is session variable.

于 2013-05-02T06:45:17.137 回答
0
  • 会话以session_start(). 如果实际会话没有分配的唯一会话 id,php 会生成一个并将其与响应一起发送给客户端。浏览器将会话 ID 存储为 cookie(如果允许)PHPSESSID,否则您必须使用查询参数创建每个链接?PHPSESSID=uniquesessionid。否则不可能有一致的会话

  • 对于每个请求,都会发送会话 cookie(如果允许)或查询参数。PHP 使用此会话 ID 标识存储在服务器端的数据,并且您可以通过$_SESSION数组访问。因此,您可以在会话数组中存储用户名或用户 ID。对于每个会话 ID,会话数组都是唯一的。您只能访问从浏览器提供的会话。

  • 在大多数服务器上,会话存储在文件系统中配置的路径下session.save_path。文件名通常是sess_uniquesessionid. 您可以使用 以编程方式确定此路径session_save_path(),但也可以更改(如果您有权访问目标路径)。

  • 会话 cookie/参数的名称(标准:)在 php.iniPHPSESSID中配置。session.name您可以使用 确定和更改会话名称session_name()。这必须在你打电话之前完成session_start()

于 2013-05-02T07:17:24.793 回答
0

$_SESSION 变量存储在服务器中,并带有相应的 session_id,在会话启动时生成。在客户端,cookie 以完全相同的 session_id 存储。这样浏览器可以识别到服务器,并且服务器可以为这个会话/用户释放存储在 $_SESSION 中的正确信息。

于 2013-05-02T06:20:46.707 回答