[JAVA] Doppelte Übermittlung von Maßnahmen mit Play Framework

Dieser Artikel stammt aus dem Play Framework (Java) Adventskalender 2016.

In PlayFramework gibt es Anmerkungen zu CSRF-Gegenmaßnahmen. Ich möchte andere als CSRF unterstützen können.

Daher ist Saikyos Gegenmaßnahmen zur doppelten Einreichung für die doppelte Einreichung sehr hilfreich. Ich werde in diesem Artikel in Play Framework schreiben, wie die Token-Check-Methode implementiert wird! !!

Token-Generierung

Ich denke, es gibt verschiedene Anforderungen für Token, aber dieses Mal werden wir ein 32 alphanumerisches Token generieren.

public static String setToken(){
  String token = RandomStringUtils.randomAlphanumeric(32);
  Cache.set("token", token);
  return token;
}

Java Speichern Sie das generierte Token im Cache mit einer Klasse, die eine bestimmte Zufallszahl generiert! !!

Token-Check

Das generierte Token wird auf der Clientseite mit dem versteckten Attribut gespeichert. Beim Senden wird dies mit dem im Cache gespeicherten Token bestätigt.

public static Boolean isToken(String clientToken) {
  Boolean isToken = true;
  String cacheToken = (String) Cache.get("token");
  if (cacheToken == null || "".equals(cacheToken)) {
    isToken = false;
  } else {
    if (!cacheToken.equals(clientToken)) {
      isToken = false;
    }
  }
  Cache.remove("token");
  return isToken;
}

Wenn es mit dem vom Client zurückgegebenen Token übereinstimmt, gibt es true und zurück Gibt false zurück, wenn sie nicht übereinstimmen.

Jetzt können Sie doppelt einreichen! !!

Recommended Posts

Doppelte Übermittlung von Maßnahmen mit Play Framework
Verwendung von BootStrap mit Play Framework
Authentifizierungsfunktion mit Play Framework [Registrierung und Authentifizierung]
Spielen Sie die Framework-Studie
Behandeln Sie JSON domänenübergreifend mit Play Framework
Spielen Sie den Framework-Lerntest
spielen Framework persönliche Notizen
[Java] [Play Framework] Bis das Projekt mit Gradle gestartet wird
Einfacher Mikroservice mit Spark Framework!
Spielen Sie mit dem Jersey OAuth 2-Client
Play Framework Study Memo Database ①
Java zum Spielen mit Function
Persönliche Notizen des First Play Framework
Einführung von Dozer to Play Framework
Validierungsfunktion in Play Framework
Hallo Welt, mit Asakusa Framework!