Java 应用程序中的 SameSite cookie
您知道任何允许为cookie设置自定义标志的Java cookie实现吗?似乎javax.servlet.http.Cookie
有一组严格限制的标志可以添加。SameSite=strict
您知道任何允许为cookie设置自定义标志的Java cookie实现吗?似乎javax.servlet.http.Cookie
有一组严格限制的标志可以添加。SameSite=strict
我不是JEE专家,但我认为,因为cookie属性是一项新发明,你不能指望它出现在Java EE 7接口或实现中。该类似乎缺少泛型属性的 setter。但是,而不是将 Cookie 添加到您的 via 中Cookie
HttpServletResponse
response.addCookie(myCookie)
您可以通过以下方式简单地设置相应的HTTP标头字段
response.setHeader("Set-Cookie", "key=value; HttpOnly; SameSite=strict")
更新:感谢@mwyrzyk指出,它将覆盖所有同名的现有标头。因此,如果您碰巧在响应中已经有其他标头,当然您会使用相同的参数。setHeader()
Set-Cookie
addHeader()
如果您不想更新所有代码,也可以使用Apache或Nginx配置(或您正在使用的任何其他HTTP服务器/代理)通过一行配置来实现相同的代码
您可以将以下行添加到 Apache 配置中
Header always edit Set-Cookie (.*) "$1; SameSite=Lax"
这将使用标志更新您的所有cookieSameSite=Lax
在这里查看更多: https://blog.giantgeek.com/?p=1872
location / {
# your usual config ...
# hack, set all cookies to secure, httponly and samesite (strict or lax)
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
}
同样在这里,这也将更新您的所有cookie与标志SameSite=Lax
在这里查看更多: https://serverfault.com/questions/849888/add-samesite-to-cookies-using-nginx-as-reverse-proxy