您好,我是一名php程序员。 我在面试中被问到会话存储在客户端的客户端计算机上的浏览器/ cookie文件中,然后服务器如何识别从我自己的PC登录的同一用户,并且我必须只显示属于的信息我? 请帮忙。
答案 0 :(得分:2)
当您在系统中登录( OR会话已启动)时,会创建唯一会话ID,并且通常会将其存储在 Cookie 中。这将识别您的浏览器。
然后,服务器使用此会话ID 从服务器获取数据。
答案 1 :(得分:2)
SESSION
存储在服务器端,而不是客户端。
SESSION
将PHPSESSID
存储在客户端,COOKIE
用于标识相应的用户。
答案 2 :(得分:0)
$ _SESSION变量存储在服务器上,并在会话启动时生成相应的session_id。在客户端,cookie与完全相同的session_id存储。通过这种方式,浏览器可以识别服务器,服务器可以为此会话/用户释放存储在$ _SESSION中的正确信息。
答案 3 :(得分:0)
会话存储在服务器端。 每次登录会话生成唯一会话ID 。 会话ID服务器标识用户。 $ _ SESSION 是会话变量。
答案 4 :(得分: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 /参数的名称(标准:PHPSESSID
)在php.ini中配置了session.name
。您可以使用session_name()
确定和更改会话名称。在致电session_start()