创建时获取会话ID

时间:2012-08-09 07:44:55

标签: php session

我正在创建授权。在会话中我想保持用户ID,但理论上我可以在我的电脑上打开会话文件并更改此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 /)在第0行的Unknown中

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

1 个答案:

答案 0 :(得分:0)

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

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

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