SESSION的问题,共不共享?

我知道每个用户都有一个seesion id,可是为什么在服务器端写:

$_SESSION['user_name'] = 'abc';

我换浏览器都能读到abc啊,那为什么还用SESSION来存储登录的用户名啊???
分明是每个用户都有自己的session_id啊,应该不能共享的啊。
我可能绕进去了,不要笑话我。

阅读 4.5k
6 个回答
    $_SESSION['user_name'] = 'abc';

这是一个赋值过程吧?赋值后哪里都可以读取。

换浏览器是什么意思?(IE换成firefox), 还是浏览器的多窗口(TAB)切换? 还是关闭浏览器后打开?

在同一请求中,将用户名保存起来,方便后面程序读取。而不至于每次都去查数据库。

这个应该不会的吧

赋值了之后,再读。。跟id没有关系了吧?

php 的session其实跟用户状态无关,它只是个简单的kv存储系统,
因为http协议是无状态的,为了识别用户,靠的还是用户请求里的cookie,
这个cookie字段就是phpsessionid(默认情况下),通过用户请求传递,
任何人,只要取得了sessionid,都能获取session内容的。
就跟你保险柜一样,只要有钥匙密码,谁都能取,
只是这个钥匙密码只给了你一个人而已,故默认情况下只有你一个人能取

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏