创建时获取会话 ID


Get session id when creating

我正在创建授权。在会话中,我想保留用户 ID,但理论上我可以在我的 PC 上打开会话文件并将此 id 和沙子更改为服务器。所以我想从 md5 中的会话 ID + 我的 ID 创建一些额外的安全密钥,但是当我尝试获取会话 ID $security_key = session_id($_SESSION['user_id']);时,我得到:

警告:未知:会话 ID 太长或包含非法 字符,有效字符为 a-z、A-Z、0-9 和"-",在未知 上 第 0 行警告:未知:无法写入会话数据(文件)。请 验证session.save_path的当前设置是否正确 (/Users/Sites/demo/sessions/) in 未知 在第 0 行

更新:非常感谢,但只是我自己解决的。正确的版本 session_id(user_id)

如果要创建会话令牌,只需使用以下内容:

$_SESSION['token'] = md5(session_id().$_SESSION['user_id'].$_SERVER['HTTP_USER_AGENT'].'randomlol');

如果您担心有人更改主机上的会话变量,则应考虑使用会话处理程序将会话变量存储在数据库中。