2013-05-02 69 views
-1

嗨,我是一名PHP程序员。 我在采访中被问到客户端的会话存储在客户端计算机上的浏览器/ cookie文件中,然后服务器如何识别从我自己的PC登录的同一用户,并且我必须仅显示属于对我来说? 请帮忙。如何确定服务器上的用户会话

+1

http://stackoverflow.com/questions/2954879/how-session-works – 2013-05-02 06:17:36

回答

1

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

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

1

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

SESSION在客户端存储为PHPSESSID作为COOKIE用于标识各个用户。

0

$ _SESSION变量存储在服务器上,并在会话启动时生成相应的session_id。在客户端,cookie与该session_id完全相同。通过这种方式,浏览器可以识别服务器,并且服务器可以为该会话/用户释放存储在$ _SESSION中的正确信息。

0

会话存储在服务器端。 和每次登录会话生成一个唯一会话ID。 会话ID服务器标识用户。 $ _SESSION是会话变量。

0
  • 会话以session_start()开始。如果实际会话没有独有的会话标识,php会生成一个并将响应发送给客户端。浏览器将会话ID存储为cookie(如果允许)PHPSESSID,或者如果不是,则必须创建与查询参数?PHPSESSID=uniquesessionid的每个链接。否则没有一致的会话是可能的

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

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

  • 会话cookie /参数的名称(标准:PHPSESSID)在php.ini中配置为session.name。您可以使用session_name()确定并更改会话名称。这是必须完成的,然后再致电session_start()

相关问题