【发布时间】:2015-05-09 17:50:42
【问题描述】:
我正在尝试通过创建start_secure_session() 函数来创建安全会话,如下所示:
function start_secure_session() {
$session_name = 'secure_session';
$secure = true;
$httponly = true;
if (ini_set('session.use_only_cookies', 1) === false) {
die('error');
}
$cookie_params = session_get_cookie_params();
session_set_cookie_params($cookie_params["lifetime"],
$cookie_params["path"],
$cookie_params["domain"],
$secure,
$httponly);
session_name($session_name);
session_start();
session_regenerate_id(true);
}
问题是,start_secure_session() 没有保存$_SESSION 超级全局变量。页面刷新时立即取消设置。仅当我将其注释掉时才有效:
//$cookie_params = session_get_cookie_params();
//session_set_cookie_params($cookie_params["lifetime"],
// $cookie_params["path"],
// $cookie_params["domain"],
// $secure,
// $httponly);
或者换句话说,不设置自定义 cookie 参数。
我应该怎么做才能让它工作?那么,session_start() 可以正常工作,$_SESSION 变量可以记住它的值吗?
【问题讨论】:
标签: php session session-variables