如何修复 “将 SameSite cookie 设置为无” 警告?铬扩展

共2个回答,已解决, 标签: php cookies google-chrome-extension

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

$ Cookie_name = "mycookie";

If (isset ($ _ COOKIE [$ cookie_name))
{
Echo $ _ COOKIE [$ cookie_name];
}
其他 {
回声 “nocookie”;
}

但我得到这个警告在扩展中的错误。

与位于的跨站点资源关联的 cookie (这里是我的域) 没有设置SameSite attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with SameSite=None and Secure。您可以在应用程序> 存储> cookie 下的开发工具中查看 cookie,并在Https://www.chromestatus.com/feature/5088147346030592Https://www.chromestatus.com/feature/5633521622188032.

我试图创建这样的饼干,但没有帮助。

Setcookie ($ cookie_name,$ cookie_value,time () 3600*24,“/; samesite = None”,“mydomain.com”,1);

以下说明这个问题。

第1个答案(采用)

我也在一个 “试错”,但这个答案从谷歌浏览器实验室的 Github 帮助了我一点。我把它定义到我的主文件中,它工作得很好,只有 3 分之 1 方域。仍在进行测试,但我渴望用更好的解决方案更新这个答案 :)

如果你有 PHP 直到 7.2,就像我的服务器一样:

header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure');

或者,如果您的主机已经更新到 7.3,您可以使用:

setcookie('cross-site-cookie', 'name', ['samesite' => 'None', 'secure' => true]);

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

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

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

第2个答案

随着新功能的到来,SameSite=None cookies must also be marked as Secure否则他们将被拒绝。

人们可以找到更多关于变化的信息铬更新在这一点上博客文章

注意: 与这个问题不太直接相关,但可能对其他登陆这里的人有用,因为这是我在网站开发过程中首先关心的问题:

如果你看到问题中的警告,列出了大约第 3 个聚会网站 (在我的例子中是 google.com,huh) -- 这意味着他们需要修复它,它与你的网站无关。当然,除非警告提到你的网站,在这种情况下,添加Secure应该修复它。

相关问题

mysql _ 拿给数组 ()/mysql_fetch_assoc ()/mysql_fetch_row ()/mysql_num_rows 等希望参数1是资源或结果 参考-此错误在 PHP 中意味着什么? 如何在 PHP 中分析和处理 HTML\ xml? 如何跨设备扩展 localStorage (不带 DB) 如何修复 “将 SameSite cookie 设置为无” 警告?铬扩展 我有一个 javascript 计时器,但我希望计时器继续即使我刷新或重新启动浏览器 Chrome 控制台 SameSite Cookie 属性警告 打开和隐藏网页