如何在 PHP 中设置带有安全标志的 cookie?

How to set a cookie with the secure flag in PHP?

我想在我的代码中将 httponly 和安全标志设置为 true,但是当我尝试设置该 cookie 时。在这种情况下,cookie 不会被创建并且无法登录到站点。

ini_set('session.cookie_httponly', 1);
ini_set('session.cookie_secure', 1); 
session_name('sim');
$_SESSION['nons']=rand(1,999999999);
$value=md5($_SERVER["REMOTE_ADDR"]." ".$_SERVER["HTTP_USER_AGENT"]." ".$_SESSION['nons']);
$_SESSION['sim']=$value;
session_start();
session_regenerate_id();

这是用于创建会话 cookie 的代码,删除下面的代码后将完美运行

ini_set('session.cookie_httponly', 1);
ini_set('session.cookie_secure', 1); 

但为了安全起见,我需要设置一个 cookie 标志

安全标志表示 "This cookie is only valid over HTTPS"。

您正在使用 HTTP(没有 S)。

这意味着 cookie 无效,浏览器正确 忽略它。

如果您的通信渠道不安全,您不能要求 cookie 是安全的。