问题标签 [samesite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
186 浏览

samesite - Polyfill SameSite cookie 属性

有没有办法填充 SameSite cookie 属性,以便我可以将此功能与旧版浏览器或特定浏览器的旧版本一起使用?

https://caniuse.com/#feat=same-site-cookie-attribute

0 投票
3 回答
24480 浏览

samesite - SameSite="Lax" 和 SameSite="Strict" 有什么区别?

谁能通过一个很好的例子告诉我SameSite="Lax"SameSite="Strict"之间有什么区别,因为我对这两者有点困惑?

0 投票
2 回答
5307 浏览

asp.net - 如何为 .NET 4.7.2 上的 OWIN OpenIdConnect.Nonce cookie 将 SameSite 值设置为 None 或 Undefined

我正在运行一个 ASP.NET MVC (4.7.2) Web 应用程序。我使用具有混合流的 Identity Server 4 实例进行外部身份验证。

在测试 Firefox 的新“缺少 SameSite 默认为 LAX”功能时,他没有将 LAX OpenIdConnect.Nonce cookie 发送回我的 MVC Web 应用程序:

图 1:所有 cookie 都有 Lax

所有饼干都有松懈

图 2:在 POST 时未向signin-oidc提供 cookie

来自 Identity Server 的回调中缺少 nonce cookie

我得到错误:

OpenIdConnectProtocolValidationContext.Nonce 为空,OpenIdConnectProtocol.ValidatedIdToken.Payload.Nonce 不为空。无法验证随机数。如果您不需要检查 nonce,请将 OpenIdConnectProtocolValidator.RequireNonce 设置为“false”。请注意,如果找到“nonce”,它将被评估。

我尝试了一些方法来确保所有 cookie 至少具有 None 或 Unspecified 设置,但是这个 OpenIdConnect.Nonce cookie 一直停留在 LAX。

在我的 web.config 中,我添加了:

我正在使用Microsoft MSDN的 SameSiteCookieManager 。

我希望有人可以帮助我将此 OpenIdConnect.Nonce cookie 设置为 None 或 Unspecified。

提前谢谢了!

0 投票
3 回答
1363 浏览

cookies - 第三方shopify应用程序中的同一个站点没有不起作用

我们正在尝试在 iframe 中打开的 shopify 应用程序中设置 samesite=none;secure 但我们意识到它被谷歌浏览器阻止了。

我们正在测试 chrome 80 beta

我们尝试了 javascript 和 php,但没有任何效果。应用程序是嵌入式应用程序并在 iframe 中加载这里是 php 代码

我们也尝试了java脚本

我们的 cookie 列在此处的阻止类别中

https://imgur.com/g5tznq8

任何帮助都会很棒。我们关注了所有在线文章,但我们可以看到我们的 cookie 属于 chrome 的阻止类别

0 投票
1 回答
573 浏览

google-chrome - Chrome Beta 问题:尽管 SameSite cookie 设置为“无”且安全,但未收到第三方 cookie

我正在实施 samesite=None;Secure 到 chrome beta 版本 80.0.3987.78 (Official Build) beta (64-bit) 上的跨域访问页面..

加载页面时,我看到属性已正确应用,但我仍然收到控制台错误,提示不会发送 cookie。

开发者工具->应用程序->Cookies (我只有一个cookie,设置为samesite="None"; Secure) Cookies Set

来自控制台的错误消息:

与https://mycw125 .***.com/上的跨站点资源关联的 cookie设置为没有该SameSite属性。SameSite=None它已被阻止,因为 Chrome 现在仅在使用和设置时才提供带有跨站点请求的 cookie Secure。您可以在应用程序>存储>Cookies 下的开发人员工具中查看 cookie,并在https://www.chromestatus.com/feature/5088147346030592https://www.chromestatus.com/feature/5633521622188032中查看更多详细信息。

控制台错误

我的功能也被破坏了,因为没有发送 cookie。有人可以帮我理解出了什么问题吗?我正在使用 chrome 版本 80.0.3987.78(官方构建)测试版(64 位)。

我们已经看到 chrome 行为的差异。此功能按预期间歇性工作,并使用相同的 cookie 加载页面。之后它会中断。

0 投票
2 回答
993 浏览

asp.net-mvc - SameSite cookie 属性丢失

[更新-见最后评论]

Google 将更改其 Chrome 浏览器的行为,以便 cookie 在托管在另一个域的 IFRAME 中时不再起作用,除非 cookie 明确设置为 SameSite = None 和 Secure。

为此,我们在 ASP.NET MVC 代码中进行了此更改。我们有一些关于何时设置的逻辑(仅适用于我们同意合作的合作伙伴),所以我们有这个条件逻辑:

我们在我们的 DEV、QA、STAGE 环境中对此进行了测试,它运行良好。在 Chrome 的开发人员工具(应用程序 > Cookies)中,您可以检查 cookie 并查看它们都标记为安全,并且在 SameSite 列中没有。

但是,当我们将其滚动到我们的 PROD 环境时,使用相同的浏览器会得到不同的结果:cookie 被标记为安全,但 SameSite 值为空。

我们检查的内容:

  • 负载均衡器:我们将其隔离并直接导航到单个 Web 服务器,结果相同
  • 安装的 .NET 框架:在所有环境中,我们都安装了 4.7.2 和 4.8
  • 解决 .NET 框架:在所有环境中,web.config 规定 4.7.2
  • 代码:我们从 PROD 中检索了相关的 DLL 并使用 ILSPY 进行了检查。它包含上面的代码

目前有点不知所措,无法解释 cookie 如何丢失“SameSite”属性。导航到chrome://flags并在SameSite上进行过滤,我们将这三个设置显示为“默认”,因此 Chrome 不应影响从一个环境到另一个环境的任何不同。

更新

我们的 ASP.NET MVC 应用程序使用 IHttpModule,作为 EndRequest 方法的最后一步,我们跟踪 cookie。您可以清楚地看到它们设置为 SameSite=None 和 Secure=true。但是,当它们到达浏览器时,SameSite 属性已被剥离。

0 投票
1 回答
232 浏览

angular - Samesite cookie 也会改变 sessionStorage 吗?

我在我的应用程序的某些地方使用 sessionStorage。

从最近几天开始,我注意到如果在 API 调用后读取 sessionStorage ,它就会变为空。

这是因为 Chrome 更新吗?如果是,请告诉我如何解决?

0 投票
1 回答
2338 浏览

apache - 如何通过 mod_rewrite 编辑 cookie 集?

我使用 mod_rewrite 设置一些 cookie,然后将用户重定向到目标 url。由于这些 cookie 在第三方环境中使用,我必须设置标志 SameSite=none。我试图通过 mod_headers 编辑 Set-Cookie 标头,但我没有让它工作。

我的 Apache 配置:

我的测试要求:

为什么编辑了 X-Foo 标头,但没有编辑 Set-Cookie 标头?

0 投票
2 回答
7440 浏览

php - Php:为 cookie 属性设置标头 SameSite=None;Secure 根本不起作用

我知道针对同一个问题给出了许多解决方案,但我尝试了所有解决方案,但没有一个有效。

我尝试了以下方法,但没有一个有效。我的 php 版本是 7.1,我正在使用 Codeigniter 框架。

通过在 index.php 中设置标题

header('Set-Cookie: HttpOnly; SameSite=None;Secure');

通过在 .htaccess 中设置

Header edit Set-Cookie ^(.*)$ "$1;HttpOnly;Secure;SameSite=none"

通过在 apache2 httpd.conf 中设置

Header edit Set-Cookie ^(.*)$ "$1;HttpOnly;Secure;SameSite=None"

我已经查看了 Chrmoe git 更新,它说 header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure');

我没有得到选项cross-site-cookie=bar。它会有什么价值。

我也尝试过同样的方法,但它根本不起作用。

0 投票
1 回答
95 浏览

google-analytics - Samesite 属性调整 - AdWords 和分析 Cookie

AdWords 和分析 Cookie 错误

尽管根据本文档启用了 Samesite 标志,但我们仍然看到来自“adwords.google.com”和“analytics.google.com”等网站的错误。</p>

根据我们收到的文档和警告信息,我们认为需要在 Google 端进行 Samesite 属性调整。

正是 AdWords 和 Analytics 等 Google 资产网站让我们相信情况可能如此。有人可以帮助我们确认或否认这个理论吗?