SESSION的疑惑,求帮助。

Marser_cn 发布于 2012/11/19 12:48
阅读 213
收藏 0
PHP

一个网站里,管理员的登录信息可以保存在服务器上的session里,但是当多位管理员同时登录后,在还没有超过过期时间时,重新进入后台页面,显示的管理员信息是不是可能不是此管理员的相关信息,而是另一个管理员的相关信息?

解决此问题是不是需要结合cookie?在管理员登录时,将PHPSESSID写入它机器的cookie中,当此管理员在未超过过期时间内重新进入页面时,可以根据PHPSESSID来判断当前的操作用户是哪位管理员?

加载中
0
王昊然
王昊然

单纯的SESSION是会有你说的问题,但是SESSION的机制就是利用一个叫做 SESSION_ID 的识别码来进行身份识别,服务器会给每一个网站访问者分配一个独一无二的 SESSION_ID ,之后利用这个 SESSION_ID 来告诉服务器标志这个 SESSION_ID 的 SESSION 才是我要的 SESSION。而这个 SESSION_ID 就是存在Cookie中的,在PHP中他的默认名字就是:PHPSESSID。你的这个担心是没有错误的,只是 SESSION 机制已经默认帮我们解决了

下面就是一个存储在服务器上的 SESSION 文件:

sess_是前缀,后面的一长串字符就是 SESSION_ID

而我们在访问网站时,Cookie 中会存储 SESSION_ID 这个值,也就是:

之后服务器读取到了 PHPSESSID 这个值,找到相应的 SESSION 文件,即将此 SESSION 文件中的内容应用到当前这个用户

0
lemonseed
lemonseed

几百个人登陆就会有几个百不同的session,session是唯一的。

不需要结合COOKIE。

0
Marser_cn
Marser_cn

引用来自“lemonseed”的答案

几百个人登陆就会有几个百不同的session,session是唯一的。

不需要结合COOKIE。

具体怎么实现?求解
0
王翔龙
王翔龙
好象有个sessionID
0
leo108
leo108
你的问题是不存在的,所以不需要什么解决方法
0
傅小黑
傅小黑
似乎所有语言的session实现都不会出现这个问题
0
Marser_cn
Marser_cn

引用来自“王昊然”的答案

单纯的SESSION是会有你说的问题,但是SESSION的机制就是利用一个叫做 SESSION_ID 的识别码来进行身份识别,服务器会给每一个网站访问者分配一个独一无二的 SESSION_ID ,之后利用这个 SESSION_ID 来告诉服务器标志这个 SESSION_ID 的 SESSION 才是我要的 SESSION。而这个 SESSION_ID 就是存在Cookie中的,在PHP中他的默认名字就是:PHPSESSID。你的这个担心是没有错误的,只是 SESSION 机制已经默认帮我们解决了

下面就是一个存储在服务器上的 SESSION 文件:

sess_是前缀,后面的一长串字符就是 SESSION_ID

而我们在访问网站时,Cookie 中会存储 SESSION_ID 这个值,也就是:

之后服务器读取到了 PHPSESSID 这个值,找到相应的 SESSION 文件,即将此 SESSION 文件中的内容应用到当前这个用户

也就是当管理员重新进入页而时,PHP的SESSION机制会自动匹配当前操作用户的SESSION_ID?
欲语还休
欲语还休
补充说明:你说的要用到cookie,是因为服务器是把session_id当做cookie保存在浏览器端,如果用户禁用cookie,就需要在url中添加session_id
傅小黑
傅小黑
你的cookie里只存这样一个session_id,那么服务器也就只会去找着一个id相关的内容。。。。
王昊然
王昊然
可以这样理解
返回顶部
顶部