您知道任何允许为 cookie 设置自定义标志的 Java cookie 实现,例如 SameSite=strict 吗?似乎 javax.servlet.http.Cookie 有一组严格限制的可以添加的标志。 原文由 Michal_Szulc 发布,翻译遵循 CC BY-SA 4.0 许可协议
我不是 JEE 专家,但我认为由于该 cookie 属性是一项有点新的发明,您不能指望它会出现在 Java EE 7 接口或实现中。 Cookie 类似乎缺少通用属性的设置器。但不是将 cookie 添加到您的 HttpServletResponse 通过 response.addCookie(myCookie) 您可以通过简单地设置相应的 HTTP 标头字段 response.setHeader("Set-Cookie", "key=value; HttpOnly; SameSite=strict") 更新: 感谢 @mwyrzyk 指出 setHeader() 覆盖所有同名的现有标头。因此,如果您碰巧在响应中已经有其他 Set-Cookie 标头,当然您会使用具有相同参数的 addHeader() 代替。 原文由 kriegaex 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您不想更新所有代码,您也可以使用 Apache 或 Nginx 配置(或您正在使用的任何其他 HTTP 服务器/代理)通过一行配置来实现相同的目的 1 使用 Apache 配置设置 SameSite cookie 您可以将以下行添加到您的 Apache 配置中 Header always edit Set-Cookie (.*) "$1; SameSite=Lax" 这将使用 SameSite=Lax 标志更新您的所有 cookie 在此处查看更多信息: https ://blog.giantgeek.com/?p=1872 2 使用 Nginx 配置设置 SameSite cookie location / { # your usual config ... # hack, set all cookies to secure, httponly and samesite (strict or lax) proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict"; 同样在这里,这也会用 SameSite=Lax 标志更新你所有的 cookie