【问题标题】:SameSite attribute and Facebook SDKSameSite 属性和 Facebook SDK
【发布时间】:2020-06-05 18:53:09
【问题描述】:

我正在尝试解决我从 Chrome 浏览器收到的警告:

A cookie associated with a cross-site resource at http://www.facebook.com/ 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. <br/>

我正在使用 Facebook 登录网络 SDK。当试图摆脱警告时,我创建了一个没有 cookie 的非常简单的页面。单个 cookie 不是由我的脚本创建的,而是来自 Facebook 的。看起来后端代码并没有真正影响 cookie。它在响应头中设置。

在PHP代码中我已经介绍了这段代码:

$fbcook = $_COOKIE[$facebookcookiename];
setrawcookie($facebookcookiename, $fbcook, ['samesite' => 'None', 'secure' => true]);

它生效,当我调试我在标题中看到的网络时:

set-cookie: fbcookie=value; secure; SameSite=None

原始值为 base_domain=.blabla.bla

请求头中的cookie属性:

cookie: fbcookie=value

Chrome 中有网络调试信息:

如果在 facebook.com 上再次设置它,我会预料到这一点,因为我在警告中看到“http://www.facebook.com/”而不是关于我的网站 blabla.bla。有没有办法摆脱警告?另一个问题:Chrome 更改政策后功能会受到影响吗?我想在不更改浏览器设置的情况下做到这一点。该网站的用户不太可能进行任何更改以摆脱浏览器中的任何安全修复程序。

【问题讨论】:

    标签: php facebook http web samesite


    【解决方案1】:

    不,这不是你可以做的任何事情。这不是 您的 cookie,它是 Facebook 设置的,对 他们的 域有效。

    Facebook 必须解决这个问题,您可以放心,他们会及时解决,否则可能会破坏许多网站的登录功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-28
      • 2020-12-15
      • 1970-01-01
      • 2021-03-03
      • 2020-07-04
      • 2020-02-01
      • 2020-05-20
      • 2020-07-13
      相关资源
      最近更新 更多