【发布时间】:2021-08-10 02:45:56
【问题描述】:
在同一个 HTTP Set-Cookie 响应标头中发送多个同名 cookie 在 HTTP 中是否有效(并且工作可靠)?
响应类似于:
Set-Cookie: NAME=bad; path=/notthere; expires=getridofthiscookie
Set-Cookie: NAME=good; path=/
Set-Cookie: NAME=bad; domain=a.subdomain; expires=getridofthisaswell
目的是消除使用错误路径(或在子域上)创建的无关 cookie(“坏”cookie),这会导致根据请求路径发送到服务器的 cookie 值不理想/域。
相关
【问题讨论】:
-
对这个问题有点困惑。显然,您不能删除其他域上的 cookie;这将是一个巨大的安全漏洞。因此,您示例中的第三行由于比
Set-Cookie标头机制更基本的原因不起作用,并且无法删除另一个域上的 cookie。或者,也许我误解了这个问题? -
@RomanK 确实有点不清楚。一些要删除的 cookie 位于主域的子域上;它们应该只是主域上的 cookie,目标是让它们从子域中过期,同时确保它们存在于主域中。我已经更新了问题,将盖子重新盖上。
-
@RomanK 可以通过正确创建具有显式路径/域的 cookie 来避免整个问题,并且 .. 不幸的是,目前情况并非如此。
-
可能与 stackoverflow.com/questions/12281038/… 相关,无法做到这一点被视为错误。
-
也许您可以为“.domain.com”设置一个
badcookie(即通配符cookie)? serverfault.com/questions/153409/…