gpt4 book ai didi

php - 如何修复 "set SameSite cookie to none"警告?

转载 作者:行者123 更新时间:2023-12-02 10:28:25 34 4
gpt4 key购买 nike

我创建了一个 chrome 扩展,并从 popup.js 调用读取 cookie 的 PHP 脚本(使用 Xhttprequest)。像这样:

$cookie_name = "mycookie";

if(isset($_COOKIE[$cookie_name]))
{
echo $_COOKIE[$cookie_name];
}
else{
echo "nocookie";
}

但是我在扩展程序错误时收到此警告。

A cookie associated with a cross-site resource at (Here is my domain) was set without the SameSite attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with SameSite=None and Secure. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.

我尝试创建一个像这样的cookie,但没有帮助。

setcookie($cookie_name,$cookie_value, time() + 3600*24, "/;samesite=None ","mydomain.com", 1);

遵循 this 的说明问题。

最佳答案

我也在为此进行“反复试验”,但 Google Chrome 实验室 GitHub 上的这个答案对我有一点帮助。我将其定义到我的主文件中,并且它工作正常 - 很好,仅适用于一个第三方域。仍在进行测试,但我渴望用更好的解决方案更新此答案:)

我现在使用 PHP 7.4,这种语法运行良好(2020 年 9 月):

$cookie_options = array(
'expires' => time() + 60*60*24*30,
'path' => '/',
'domain' => '.example.com', // leading dot for compatibility or use subdomain
'secure' => true, // or false
'httponly' => false, // or false
'samesite' => 'None' // None || Lax || Strict
);

setcookie('cors-cookie', 'my-site-cookie', $cookie_options);
<小时/>

如果您有PHP 7.2 或更低版本(正如 Robert 在下面的回答):

setcookie('key', 'value', time()+(7*24*3600), "/; SameSite=None; Secure");

如果您的主机已更新到 PHP 7.3,您可以使用(感谢 Mahn 的评论):

setcookie('cookieName', 'cookieValue', [
'expires' => time()+(7*24*3600,
'path' => '/',
'domain' => 'example.com',
'samesite' => 'None',
'secure' => true,
'httponly' => true
]);

您可以尝试检查 cookie 的另一件事是启用下面的标志,用他们自己的话来说,该标志“将为可能受此更改影响的每个 cookie 添加控制台警告消息”:

chrome://flags/#cookie-deprecation-messages

查看完整代码:https://github.com/GoogleChromeLabs/samesite-examples/blob/master/php.md ,他们也有 same-site-cookies 的代码。

关于php - 如何修复 "set SameSite cookie to none"警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58191969/

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