通过从cookie读取的PHPSSID分配和读取用户的会话


Assign and read session of user by PHPSESSID read from cookie

我想在我的php应用程序中验证聊天用户(通过websockets)。现在我用聊天信息发送所有来自域的cookie。其中一个cookie是会话id。有没有这样的选择:

session_id($cookies['PHPSESSID']);
session_start();
echo $_SESSION['user']['username']; 

或者是否有其他方法来验证用户身份?

是的,只需一个小的调整就可以做到:

session_id($_COOKIE['PHPSESSID']); //We use the `$_COOKIE` global array to access cookies
session_start();
echo $_SESSION['user']['username']; 

不过要小心。由于您使用的cookie与PHP ifself相同,因此该值是自动生成的,当然,除非您事先使用session_id($_COOKIE['PHPSESSID']);。您需要确保在用户第一次访问您的网站时生成自动会话id。