Frage So deaktivieren Sie die CSRF-Prüfung in Play Framework 2 (Java)


In Play Framework können wir eine globale CSRF-Prüfung anwenden

@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public <T extends EssentialFilter> Class<T>[] filters() {
    Class[] filters = { CSRFFilter.class };

    return filters;
}

Was in den meisten Fällen gut ist. Ich möchte jedoch die Facebook Canvas-Seite einrichten, die auf unsere Website verweist. Die Sache ist, dass Facebook eine POST-Anfrage an unsere Seite sendet und dies durch die CSRF-Prüfung verhindert wird. Es kommt immer zurück "Ungültiges CSRF-Token"

Daher möchte ich CSRF selektiv deaktivieren, indem Sie in einigen Aktionen www.ourwebsite.com/canvas eingeben

Ist das machbar?


5
2018-01-13 16:47


Ursprung


Antworten:


Ich habe einen Blog-Post darüber erstellt, wie das geht, siehe hier:

http://dominikdorn.com/2014/07/playframework-2-3-global-csrf-protection-disable-csrf-selectively/

2017-Update: Ab PlayFramework 2.6 ist dies nun im Framework selbst enthalten: https://www.playframework.com/documentation/2.6.x/JavaCsrf#applying-a-global-csrf-filter 


6
2017-07-16 21:11