【问题标题】:Setting the SameSite Attribute on the JSESSIONID cookie using Apache config使用 Apache 配置在 JSESSIONID cookie 上设置 SameSite 属性
【发布时间】:2019-05-14 17:01:15
【问题描述】:

我安装了 Apache 2.4 和 Tomcat 9。我需要在 JSESSIONID cookie 上设置 SameSite 属性。

使用Fiddler可以看到登录时cookies设置如下;

Set-Cookie: JSESSIONID=XXXXXXXXXXX; Path=/prod1; Secure; HttpOnly

我还想使用 Apache 在 cookie 上设置 SameSite 属性。我在 vhost conf 中有以下内容,但这似乎不起作用。

Header always edit* Set-Cookie "^(JSESSIONID.*)$" $1;SameSite=Lax

我知道 Header 指令有效,因为我在此行上方设置了其他属性(不是在 cookie 上)。 但是,这似乎不起作用。我尝试了一些变体,但似乎无法正常工作。

有什么建议吗?

【问题讨论】:

    标签: apache cookies session-cookies httpd.conf samesite


    【解决方案1】:

    经过反复试验,我发现删除 always 条件是可行的,并且 JSESIONID cookie 具有 SameSite 属性。

    查看Apache mod_headers 文档,原因不清楚。文档说

    就现有标头而言,始终不是 onsuccess 的超集

    但是,没有提供太多细节。 参考:Apache Module mod_headers

    【讨论】:

    • 我想我在手册中写了那个警告,忘记了它,并在查看 SameSite 问题时在你的答案中重新学习了它。我会考虑改进手册中令人困惑的措辞。
    • 最新的文档很有帮助,因为他们解释说 alwaysonsuccess 是两个表头的名称,您要编辑的表可能在其中任何一个表中.我发现复制我的Header edit 行很有帮助,所以我有Header always editHeader onsuccess edit
    猜你喜欢
    • 2019-06-03
    • 2020-11-23
    • 2021-01-04
    • 2020-05-13
    • 2021-07-22
    • 2020-07-04
    • 2020-04-25
    • 2019-10-31
    • 2020-02-09
    相关资源
    最近更新 更多