从MD5哈希创建会话ID

时间:2015-01-24 14:31:21

标签: php session md5

目前我有这个:

$time = time();
$hash = md5($key . $time);

但是如何根据哈希创建$_SESSION['']

3 个答案:

答案 0 :(得分:2)

尝试使用:

 session_id($hash);
 session_start();

您可以在手册中找到解释:

http://php.net/manual/en/function.session-id.php

答案 1 :(得分:1)

我不明白为什么这不起作用。

$time = time();
$hash = md5($key . $time);
$_SESSION['time'] = $hash;

然后尝试回声测试:

echo $_SESSION['time'];

或存储在您自己的var

$mysession = $_SESSION['time'];

答案 2 :(得分:0)

如果您的目标是使会话对session fixation attacks更安全,则可以使用session_regenerate_id并在每次 x 请求后重新创建新的session_id:

$_SESSION['last_time_generated']++;

if ($_SESSION['last_time_generated'] > 10) {
    $_SESSION['last_time_generated'] = 0;
    session_regenerate_id(true);
}