提问人:sam it 提问时间:11/17/2023 更新时间:11/17/2023 访问量:20
Clear-Site-Data “*” : Firefox 和 Chrome 中的不同行为
Clear-Site-Data "*" : Different behavior in both Firefox and Chrome
问:
我遇到了以下问题:
Clear-Site-Data "*"
我有两个域使用两个 Web 服务器:和a.mywebsite.com
b.mywebsite.com
'b'
是 中的 iframe。'a'
当我单击注销时,我首先调用注销b.mywebsite.com/logout
a.mywebsite.com/logout.
b.mywebsite.com
HTML 标头中的 ReturnClear-Site-Data "*"
我注意到在Firefox和Chrome中,行为是不同的。
在 Chrome 浏览器中:调用并返回 html header 后,它将清除所有 mywebsite.com 中的所有 cookie,包括 cookie,即使某些 cookie 只属于b.mywebsite.com/logout
Clear-Site-Data "*"
a.mywebsite.com
'a'.
但是,在 Firefox 中,它只清除 和 之间的常见 cookie。b.mywebsite.com
a
b
这会导致 Chrome 用户的 cookie 被清除,但实际上并没有在服务器端注销,因为服务器在没有任何 cookie 的情况下接收请求。
问题 :
有人可以帮我使Chrome中的行为与Firefox保持一致吗?我的目标是只清除站点 B 或常见站点的 cookie。Clear-Site-Data "*"
Clear-Site-Data "*"
谢谢。
答:
Chromium 浏览器中存在一个与如何处理 Clear-Site-Data 标头相关的错误。目前,当在 Chromium 浏览器中使用 Clear-Site-Data 时,它会清除任何子域的所有 Cookie。就我而言,这会影响网站a和网站b,这与文档相反,该文档建议它应该只清理其子域的cookie。 我实施了一种解决方法来解决这个问题。我从 website-a 执行了对注销页面的提取请求,以清除服务器端的会话,但不包括 Clear-Site-Data 标头以清除浏览器 cookie。之后,我通过将 website-b 的注销页面嵌入到 iframe 中来触发该页面,从而触发标头以清除站点数据。 这种方法可以有效地清除 Chromium 浏览器中 website-a 和 website-b 的所有 Cookie。 为了在Firefox中清理website-a,我向website-a发出了第二个请求,请求注销页面,但这次要求包含Clear-Site-Data来清理浏览器cookie。
评论