Chrome扩展程序受SameSite Cookie策略影响吗? 我使用chrome.cookies.get方法从选项卡中打开的网站检索cookie。 如果此cookie的SameSite属性设置为strict,会发生什么情况?
谢谢
答案 0 :(得分:0)
来自https://www.chromium.org/updates/same-site/test-debug#TOC-Testing-Chrome-extensions
Chrome扩展程序还必须遵守新的SameSite Cookie行为。具有
chrome-extension://
方案URL的扩展页面通常被视为跨到任何网页(https://
或http://
)的跨站点。在某些情况下会发生例外情况(从Chrome 80开始是正确的,但将来可能会改变行为):如果扩展程序页面发起了对网络URL的请求,并且该扩展程序在扩展程序清单中具有所请求URL的主机权限,则该请求被视为同一站点。例如,如果扩展页面上的iframe嵌入了该扩展具有托管权限的网站,则可能会发生这种情况。
如果顶级框架(即,URL栏中显示的站点)是扩展页面,并且扩展具有所请求URL的主机权限,并且所请求的URL和请求的发起者在每个站点都位于同一站点其他,并且扩展名具有发起者来源的主机许可,则该请求被视为同一站点。例如,如果扩展名具有“
*://*.site.example/
”的主机权限,并且扩展名页面在a.site.example
中加载iframe
,然后导航到b.site.example
,则可能发生这种情况。 / p>
chrome.cookies
API能够读取和设置任何类型的cookie,包括SameSite cookie。但是,出于对document.cookie(JavaScript)访问的目的,嵌入在扩展页面中的网页被认为处于第三方上下文中。对于内容脚本,SameSite cookie的行为与从运行内容脚本的页面发起请求的行为完全相同。
答案 1 :(得分:0)
SameSite不会影响对Cookie的访问。
Cookie SameSite值仅在发出请求时才影响浏览器的行为,是否在发出请求时不包括cookie。
对于SameSite严格-浏览器将仅包含来自同一域的cookie。因此,如果您的浏览器位置当前位于myDomain.com上,并且您对仍位于MyDomain.com上的任何路径发出请求,则该请求将包含cookie。但是,如果您发出跨站点请求(从myDomain.com到someOtherSite.com的请求),则浏览器将不包含任何设置为严格或松散的myDomain.com cookie。
如果您有兴趣,此链接在cookie相同的站点主题中非常详细。 https://web.dev/samesite-cookies-explained/