gpt4 book ai didi

PHP session_set_cookie_params 中断 php session_start() 函数和 $_SESSION 变量

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:09 26 4
gpt4 key购买 nike

我正在尝试通过创建 start_secure_session() 函数来创建安全 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 super 全局变量。当页面刷新时,它会立即取消设置。仅当我将其注释掉时它才有效:

    //$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 变量可以记住它的值吗?

最佳答案

我认为这是因为 secure=TRUE 而您没有使用 HTTPS?它不会在安全设置为 TRUE 的非安全连接上创建 session 。

关于PHP session_set_cookie_params 中断 php session_start() 函数和 $_SESSION 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28927340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com