Fügen Sie dem Cookie in Java das SameSite-Attribut hinzu

(20/01/08 19:45 postscript)

Überblick

javax.servlet.http.Cookie verfügt nicht über eine API, um das SameSite-Attribut zu erteilen. Es ist eine Antwort in einem solchen Fall. Das SameSite-Attribut wird übrigens von fast allen Browsern unterstützt. Referenz

Verwenden Sie den Set-Cookie-Header anstelle der Cookie-Klasse

Ich werde es mit Spring Boot versuchen.

@RestController
public class DemoController {

    @GetMapping(value = "/")
    public String index(HttpServletResponse response) {

	    String name = "name";
	    String value = "takeshi";

	    String cookie = String.format("%s=%s; max-age=3600; Path=/; HttpOnly; Secure; SameSite=Lax;", name, value);

	    response.addHeader("Set-Cookie", cookie);

	    return "hello, world!";
    }

Screen Shot 2019-08-06 at 17.11.55.png

Takeshi trat sicher ein.

Frühlingsstiefel

Spring Boot verfügt über eine Klasse namens ResponseCookie, die eine Cookie-Zeichenfolge für den Header erstellt. Wenn Sie diese Klasse verwenden und die von Set-Cookie festgelegte Antwort zurückgeben, wird das Cookie gesetzt.

@RestController
public class DemoController {
    @GetMapping(value = "/")
    public String index(HttpServletRequest request, HttpServletResponse response) {

        String name = "name";
        String value = "takeshi";

        ResponseCookie cookie = ResponseCookie.from(name, value).domain("localhost").maxAge(Duration.ofDays((long) 1))
            .httpOnly(true).secure(true).sameSite("Strict").build();
        response.addHeader("Set-Cookie", cookie.toString());

        return "Hello, World";
    }
}

無題.png

Wenn Sie häufig Cookies schreiben, ist es besser, eine benutzerdefinierte Klasse zu erstellen, die Parameter empfängt und festlegt. Alternativ können Sie Batch-Einstellungen auf der Webserverseite vornehmen, z. B. Apache oder Nginx. Referenz

Referenz

Class Cookie https://stackoverflow.com/questions/42717210/samesite-cookie-in-java-application https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie

Class ResponseCookie

Recommended Posts

Fügen Sie dem Cookie in Java das SameSite-Attribut hinzu
Multithreaded passend zur [Java] Vorlage
Wie man JAVA in 7 Tagen lernt
Fügen Sie dem PDF-Dokument ein Wasserzeichen zu Java hinzu
Wie verwende ich Klassen in Java?
[Java] WordArt zum Word-Dokument hinzufügen
So verketten Sie Zeichenfolgen mit Java
Java (add2)
Java (hinzufügen)
So implementieren Sie die Datumsberechnung in Java
So implementieren Sie den Kalman-Filter mit Java
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
Versuchen Sie, Project Euler in Java zu lösen
Einfach, Slack Bot mit Java zu machen
Java-Referenz zum Verständnis in der Abbildung
[Java] Hinzufügen von Daten zur Liste (add, addAll)
So fügen Sie eine JAR-Datei in ScalaIDE hinzu
So führen Sie eine Basiskonvertierung in Java durch
Konvertieren Sie SVG-Dateien in Java in PNG-Dateien
So erzwingen Sie Codierungskonventionen in Java
Hinzufügen eines Dokuments zum Azure Search Service (Java)
So erhalten Sie das Datum mit Java
[Java Bronze] 5 Probleme zu beachten
Beispiel zum Entpacken einer gz-Datei in Java
So geben Sie das ID-Attribut in JSF an
Von Java nach C und von C nach Java in Android Studio
Wenn Sie Werte dynamisch einbetten und Attributwerten in Thymeleaf 3 Text hinzufügen möchten
Grund, L zu der Zahl hinzuzufügen, die in den langen Java-Typ eingegeben werden soll
SameSite-Cookie im Spring Boot (Spring Web MVC + Tomcat)
Füge Mods mit Minecraft Forge 1.15.2 Originalwaffen hinzu
Zwei Möglichkeiten, einen Thread in Java + @ zu starten
[Java] Fügen Sie Anführungszeichen nur zu bestimmten CSV-Spalten hinzu
Fügen Sie in Java in Visual Studio Code die Option --enable-Preview hinzu
Ich möchte eine E-Mail in Java senden.
So zeigen Sie eine Webseite in Java an
CORBA scheint in Java SE 11 entfernt zu sein. .. ..
Code zum Escapezeichen von JSON-Zeichenfolgen in Java
Versuchen Sie, ein Bulletin Board in Java zu erstellen
Änderungen in Java 11
Janken in Java
So erhalten Sie eine Klasse von Element in Java
Es scheint kein anderes zu geben - wenn in Java
So fügen Sie in Spring Boot einen Klassenpfad hinzu
rsync4j - Ich möchte rsync in Java berühren.
So verbergen Sie Nullfelder als Antwort in Java
Hinzufügen, Lesen und Löschen von Excel-Kommentaren mit Java
So fügen Sie die html.erb-Klasse in Rails bedingt hinzu
Bibliothek "OSHI" zum Erfassen von Systeminformationen mit Java
[Java] Einführung in Java
Klassenpfad hinzufügen: zu dem in spring.datasource.schema angegebenen Pfad
[Java] Artikel zum Hinzufügen einer Validierung mit Spring Boot 2.3.1.
Einführung in Java
So lösen Sie Ausdrucksprobleme in Java
Ich habe versucht, Alexa-Fähigkeiten mit Java zu erstellen
Wie schreibe ich Java String # getBytes in Kotlin?
Punkte, die bei Java beachtet werden müssen, sind gleich