首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何有条件地更改Set-Cookie标头?

如何有条件地更改Set-Cookie标头?
EN

Stack Overflow用户
提问于 2019-07-15 19:11:42
回答 1查看 486关注 0票数 0

代理背后的服务器发回一个Set-Cookie (响应)头,我想要更改它。我想将path=/添加到其中:

Set-Cookie: DMZSID=none; HttpOnly; Expires=Thu, 01 Jan 1970 00:00:00 GMT

所以:

Set-Cookie: DMZSID=none; HttpOnly; path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT

有时,此标头也会通过代理:

Set-Cookie: DMZSID=somethingImportant; HttpOnly; path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT

因此,在我缺乏经验的眼里,有两种选择:

当cookie名为DMZSID时,始终设置path=/

这似乎是最简单的选择。我可能会尝试使用Header merge Set-Cookie path=/ env=someVariable,但我不知道如何设置SetEnvIf来触发正确的cookie名称。

检查DMZSID=none并添加path=/

我可能会再次使用merge来添加path=/位,但是同样,我不知道如何设置触发的SetEnvIf条件。

那么,如何更改此响应头,使其在包含DMZSID时始终包含path=/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-15 19:34:09

嗯,在我发现你可以在Apache的Header edit中使用PCRE之后,我找到了一种更简单的方法。简单地说,就是这样:

Header edit Set-Cookie "(^DMZSID=none;\s?HttpOnly;\s?)(.*)" "$1path=/; $2"

这将编辑Set-Cookie标头。首先,它准确地捕获了"DMZSID=none;HttpOnly;“,属性之间有0或1个空格。在此之后,它会捕获其余部分。然后,只需替换为contents of group 1 + path=/; + contents of group 2,您就会得到:

Set-Cookie: DMZSID=none; HttpOnly; path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT

通过在最后添加path=/,这可能会更容易完成,但我更喜欢这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57045869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文