嗨,我是一名PHP程序员。 我在采访中被问到客户端的会话存储在客户端计算机上的浏览器/ cookie文件中,然后服务器如何识别从我自己的PC登录的同一用户,并且我必须仅显示属于对我来说? 请帮忙。如何确定服务器上的用户会话
回答
当您在系统(或会话开始)登录,唯一的会话ID创建,它通常存储在饼干。这将识别您的浏览器。
服务器然后使用此会话ID从服务器获取数据。
SESSION
存储在服务器端,而不是客户端。
SESSION
在客户端存储为PHPSESSID
作为COOKIE
用于标识各个用户。
$ _SESSION变量存储在服务器上,并在会话启动时生成相应的session_id。在客户端,cookie与该session_id完全相同。通过这种方式,浏览器可以识别服务器,并且服务器可以为该会话/用户释放存储在$ _SESSION中的正确信息。
会话存储在服务器端。 和每次登录会话生成一个唯一会话ID。 会话ID服务器标识用户。 $ _SESSION是会话变量。
会话以
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()
- 1. 如何管理多个服务器上的用户会话?
- 2. 如何验证跨服务器的用户会话?
- 3. 用户的会话状态服务器自定义超时
- 4. 如何通过指定用户会话从服务运行ocx
- 5. 管理iPhone应用程序用户的Web服务器上的用户会话
- 6. 2台服务器上的Passport会话
- 7. apache服务器如何处理会话?
- 8. 如何安全地确定用户在使用客户会话
- 9. iOS/RoR - 服务器和客户端上的oauth2会话
- 10. toplink客户端会话与服务器会话
- 11. 春季服务器/客户端会话和休眠会话
- 12. JSP如何查看服务器上的所有会话
- 13. 如何杀死/放弃服务器上的所有asp.net会话
- 14. 如何刷新/保持CAS服务器上的“父”会话
- 15. c#如何确定特定登录的Windows用户的会话ID用户
- 16. 确定用户是否在服务器上OS
- 17. 确定哪个用户会话失效
- 18. 算法问题:确定“用户会话”
- 19. 如何在Parse服务器上过期非活动会话
- 20. 如何在用户的会话锁定
- 21. Web服务器如何通过服务器端的会话变量维护每个用户的请求
- 22. 确定服务器上连接的客户端的IP地址
- 23. 如何确定服务器控件的客户端名称?
- 24. 创建服务以根据用户会话确定字符串格式
- 25. 如何保存和恢复服务器中的所有用户会话
- 26. 安全会话登录到电话上的服务器
- 27. 如何将用户会话传递给REST Web服务
- 28. 如何在客户端使用web服务保持会话?
- 29. 闪亮的服务器 - 如何使用会话$ onSessionEnded()
- 30. 会话管理 - Websphere应用服务器
http://stackoverflow.com/questions/2954879/how-session-works – 2013-05-02 06:17:36