Подтвердить что ты не робот

SameSite cookie в приложении Java

Знаете ли вы какую-либо реализацию Java- SameSite=strict cookie, которая позволяет устанавливать пользовательский флаг для SameSite=strict cookie, например SameSite=strict? Похоже, что javax.servlet.http.Cookie имеет строго ограниченный набор флагов, которые можно добавлять.

4b9b3361

Ответ 1

Я не эксперт по JEE, но я думаю, что, поскольку это свойство cookie является несколько новым изобретением, нельзя ожидать, что оно будет присутствовать в интерфейсах или реализациях Java EE 7. В классе Cookie отсутствует установщик общих свойств, как кажется. Но вместо добавления файла cookie в ваш HttpServletResponse через

response.addCookie(myCookie)

Вы можете просто установить соответствующее поле заголовка HTTP через

response.setHeader("Set-Cookie", "key=value; HttpOnly; SameSite=strict")

Ответ 2

Если вы не хотите обновлять весь свой код, вы также можете добиться такой же конфигурации в одну строку, используя конфигурацию Apache или Nginx (или любой другой HTTP-сервер/прокси, который вы используете)

1 Настройка файлов cookie SameSite с использованием конфигурации Apache

Вы можете добавить следующую строку в вашу конфигурацию Apache

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

и это обновит все ваши куки с SameSite=Lax

Подробнее здесь: https://blog.giantgeek.com/?p=1872

2 Настройка файлов cookie SameSite с использованием конфигурации Nginx

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

Смотрите больше здесь: https://serverfault.com/info/849888/add-samesite-to-cookies-using-nginx-as-reverse-proxy