我有一个类来生成session_id,但是每个f5都会被更新。
如何让它不是每次更新f5?
<?php
class SessionIdSaf
{
function sessionGenerate() {
$httponly = true;
$session_hash = 'sha512';
if (in_array($session_hash, hash_algos())) {
ini_set('session.hash_function', $session_hash);
}
ini_set('session.hash_bits_per_character', 5);
ini_set('session.use_only_cookies', 1);
$cookieParams = session_get_cookie_params();
session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], md5('secure'.$_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']), $httponly);
session_name(md5('secure'.$_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']));
session_start();
return session_id();
}
function sessionRegenerate() {
session_start();
session_regenerate_id();
return session_id();
}
}
session_start();
if (session_id()) {
$sessionIdSaf = new SessionIdSaf();
$sessionIdSafGenerate = $sessionIdSaf->sessionGenerate();
}
echo $sessionIdSafGenerate;
我想要一个简单的类来生成session_id并重新生成。
只为所有网站访问者生成一个session_id。
答案 0 :(得分:3)
您每次都在调用session_regenerate_id(true);
,因此每次调用此函数时,会话ID都会重新生成。