问题标签 [third-party-cookies]
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.
firefox - 在 Firefox/Safari 中从子域访问 Cookie 失败
看起来这个问题已经在 SO 上被问过很多次了,但我的发现与其他地方的解释相矛盾(或者我可能遗漏了一些东西)。
问题
Firefox 和 Safari 不再支持第三方 cookie,这意味着 -
- example1.com添加的 cookie将在主机example1.com上可见(第一方 cookie)
- example2.com添加的 cookie在主机example1.com上不可见(第三方 cookie)
第一种方法
为了解决这个问题,我尝试了以下 -
使用来自example1.com的子域作为subdomain.example1.com
指向example2.com
使用subdomain.example1.com在example1.com上丢弃 cookie
发现
- Chrome 继续在example1.com中显示来自subdomain.example1.com的 cookie
- Firefox / Safari 不在example1.com中显示来自subdomain.example1.com的cookie
第二种方法
在这种情况下,我做了与方法1相反的事情-
使用来自example1.com的子域作为subdomain.example1.com
指向example2.com
使用example1.com在subdomain.example1.com上删除 cookie
请注意,本例中的主机网站在subdomain.example1.com上运行
发现
在这种情况下,所有浏览器都开始显示 cookie。
问题
为什么我不能在 Firefox / Safari 的情况下从subdomain.example1.com在主机example1.com上添加 cookie?
从example1.com在主机subdomain.example1.com上添加 cookie效果很好,但这是一种实际上可以接受的方法吗?(主机网站不应该是我的意思的子域)
如果您需要更多信息,请告诉我。
谢谢
cookies - 我的小部件如何在不使用 cookie 的情况下保持状态?
我们的小部件依赖于 cookie:example.com 网站将 mywebsite.com 嵌入 iframe 中,客户可以使用我们的小部件。
随着浏览器越来越多地开始阻止第三方 cookie,我们的小部件会进入一个不太好的新页面,我怀疑它最终会完全停止工作。我们开始想知道设置跨域 cookie 的替代方法。
诸如对讲小部件或实时聊天小部件之类的东西可以保持一种状态,而且我从未见过它们中断。
他们是怎么做到的呢?
cookies - 如何要求用户在 javascript 中允许第三方 cookie
我在反应网页上添加了一些广告部分。当然,它在 Chrome 浏览器上运行良好。但它不适用于 safari (Macbook + iPhone)。我注意到在 Mac 上默认阻止 3rd 方 cookie。
我想编写脚本来要求用户在浏览器或系统上允许 3rd 方 cookie。我该怎么做?仅供参考,我使用了 react-cookie-consent,但它没有用。提前致谢。
javascript - Javascript可以访问/读取第三方/跨域cookie吗?
Javascript 可以访问从另一个域创建的 cookie 吗?
请阅读整个问题,因为我确信它涵盖了基本建议。
我的项目配置设置如下:
域:
CORS(在 server.js 上):
CORS(放大 API 控制台,在server.js CORS之前点击它):
爱讯
请注意,我已经测试了跨 localhost 端口(前端:3000,后端:5000)共享 cookie,没有任何问题。
更多详细信息:
当调用我的 cookie GET 端点时,cookie 将在“Set-Cookie”响应标头中发送回前端。但是从那里我无法让 Javascript 读取 cookie,然后我想在前端对其进行操作。
在您推荐设置 cookie 属性之前,我已经涵盖了各个方面。我已经在每个可能的配置中设置了 cookie 的域、sameSite、httpOnly、安全和路径属性,但没有结果。也就是说,该示例的正确设置似乎是:
如果我在下面包含域设置,我会收到一条错误消息,“Set-Cookie 被阻止,因为它的域属性对于当前主机 url 无效”。所以我把它排除在外。所有其他设置均为默认设置。
话虽如此,这些 cookie 实际上已被 Chrome 确认。如果我单击锁(或 i)、地址栏左侧的图标(或 i)、浏览器栏左侧的图标,它们就会显示在那里。它们还显示在 http 响应标头中。但它们不会出现在 cookie 存储中,也不会被 Javascript 读取。
我的想法是,唯一的解决方案是将后端和前端都放在同一个顶级域上。也许后端位于 api.xxxx 子域。
我的假设是对的吗?还是我缺少此问题的其他解决方案?也许我也缺少允许这样做的 AWS Amplify 设置?
提前感谢您的任何回复。
google-chrome - 无法使用 Owin 在 Google Chrome(最新版本)浏览器 MVC5 中通过第三方登录提供商 (Google) 登录
在google chrome 最新版本 85中,我无法使用第三方提供商(如(Google))的登录服务,但可以在 Firefox 和其他浏览器上完美运行。
测试用例
在使用 Google Outh2.0 授予权限后,它会重定向到 singin-google,并包含所有详细信息,例如状态范围等。但是后来它尝试了.AspNet.ExternalCookies
一些东西,但是在 Google chrome 中它没有被创建,并且它无法登录并使用 Error= Access_Denied
生成回调
但是另一方面,对于不同的浏览器,如 Mozilla,相同的代码可以工作并且用户能够登录。
进一步我寻找发布chrome 的注释,是的,他们贬低了与 cookie 相关的功能,但无法在应用程序中处理。
如果有人面临同样的问题或有任何想法如何处理这个请回复。
我正在使用最新版本的 Owin,包括 Microsoft.Owin.Security 和 Google
telegram-bot - 我的电报网站登录小部件停止工作。如何为最近更新的浏览器设置第三方 cookie?
几个月前,我为我的网站集成了电报登录小部件。它就像一个魅力。但它今天停止工作。 在此处输入图片描述 IMO,原因是我的 Chrome 浏览器最近更新了,并且禁止了第三方 cookie。即使是电报社区也没有解决方案。任何人都可以帮忙吗?提前致谢
ios - 在 iOS 上的 Chrome 中禁用第三方 cookie
我想检测第三方 cookie 是否被禁用。为此我写了一些代码,但我也在使用这个网站:https ://www.whatismybrowser.com/detect/are-third-party-cookies-enabled
根据官方文档: https ://support.google.com/accounts/answer/61416,在 iOS (iPhone)上的 Google Chrome 应用程序中,第三方 cookie 应默认启用,甚至无法禁用它们 ?co=GENIE.Platform%3DiOS&hl=en
当我在 Chrome 中检查我的 iPhone 时,我收到第三方 cookie 被禁用的响应。Cookie 通常是启用的。其他 iPhone(相同的 iOS 和 Chrome 版本)上的常见行为是启用了第三方 cookie(如预期的那样)。
谷歌浏览器版本:86.0.4240.93
iOS 版本:13.7
我什至还检查了这个谷歌用户帐户的浏览器设置,以防它影响它。
有没有人有这方面的经验并且知道它是否检测到错误,或者第三方 cookie 是否真的被禁用?
php - 如何安全地验证 iframe 中的跨域(不包括第三方 cookie)?
它实现了一个基于 PHP / Vue.js 的项目,允许客户将我们的服务嵌入到 iframe 窗口中。
第三方 cookie 的安全性近年来变得越来越严格。用户授权存在问题,尤其是在 Safari 中。
如何提供有关授权用户的信息并在 iframe 中嵌入的服务上启用其身份验证以确保其安全性。这样用户在重新加载页面后仍然可以通过身份验证。
php - 未在 Ajax 请求上设置第三方 cookie
当访问foo.com
一个 Ajax GET 请求的响应以bar.co.at
包含此响应标头时:
后续的 Ajax POST 请求bar.co.at
不包含任何cookie
标头。但是我需要这个标题来进行会话bar.co.at
。
也许这可能与CORS有关,或者可能与cookie名称有关PHPSESSID
?
(在 Firefox 和 Chrome 86.0.4240.111 上相同)