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! !!
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! !!
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