如何创建安全 cookie?我尝试了一切但仍然无法正常工作
How can I create a secure cookie? I tried every thing but still not work
我可以设置一个普通的cookie,比如只设置名称、值和过期时间。但我无法将其设置为安全 cookie 或 httpOnly cookie 或两者。
这是我的代码:
<?php
setcookie("TestCookie", "CookieValue", 0, null, null, true, true);
if(isset($_COOKIE["TestCookie"])){
echo '$_COOKIE["TestCookie"] = '.$_COOKIE['TestCookie'];
session_id($_COOKIE["TestCookie"]);
}
else
echo "Sorry! Cookie TestCookie was not set.";
?>
我在搜索引擎中搜索过。尝试各种方法。例如更改php.ini中的设置等
没有显示错误,但仍然无法正常工作。请回答我的问题。
setcookie
的第六个参数确保只为 HTTPS 请求设置 cookie。将其设置为 false,或确保通过 HTTPS 连接。
另外,请注意 setcookie
不会修改 $_COOKIE
,因为 cookie 仅在脚本执行之前加载一次。
如果需要从$_COOKIE
变量中获取值,需要手动设置:
setcookie("TestCookie", "CookieValue", 0, null, null, true, true);
$_COOKIE["TestCookie"] = "CookieValue";
您也可以刷新页面,但这可能会为在浏览器中禁用 cookie 的用户创建重定向循环:
<?php
setcookie("TestCookie", "CookieValue", 0, null, null, true, true);
if(isset($_COOKIE["TestCookie"])){
echo '$_COOKIE["TestCookie"] = '.$_COOKIE['TestCookie'];
session_id($_COOKIE["TestCookie"]);
}
else{
header('Refresh: 0');
exit();
}
?>
我可以设置一个普通的cookie,比如只设置名称、值和过期时间。但我无法将其设置为安全 cookie 或 httpOnly cookie 或两者。
这是我的代码:
<?php
setcookie("TestCookie", "CookieValue", 0, null, null, true, true);
if(isset($_COOKIE["TestCookie"])){
echo '$_COOKIE["TestCookie"] = '.$_COOKIE['TestCookie'];
session_id($_COOKIE["TestCookie"]);
}
else
echo "Sorry! Cookie TestCookie was not set.";
?>
我在搜索引擎中搜索过。尝试各种方法。例如更改php.ini中的设置等
没有显示错误,但仍然无法正常工作。请回答我的问题。
setcookie
的第六个参数确保只为 HTTPS 请求设置 cookie。将其设置为 false,或确保通过 HTTPS 连接。
另外,请注意 setcookie
不会修改 $_COOKIE
,因为 cookie 仅在脚本执行之前加载一次。
如果需要从$_COOKIE
变量中获取值,需要手动设置:
setcookie("TestCookie", "CookieValue", 0, null, null, true, true);
$_COOKIE["TestCookie"] = "CookieValue";
您也可以刷新页面,但这可能会为在浏览器中禁用 cookie 的用户创建重定向循环:
<?php
setcookie("TestCookie", "CookieValue", 0, null, null, true, true);
if(isset($_COOKIE["TestCookie"])){
echo '$_COOKIE["TestCookie"] = '.$_COOKIE['TestCookie'];
session_id($_COOKIE["TestCookie"]);
}
else{
header('Refresh: 0');
exit();
}
?>