Ich bin verwirrt. Ich sehe, dass JSF 2.0 impliziten CSRF-Schutz hat: Wie JSF 2.0 CSRF verhindert
Auf der anderen Seite nach dem Artikel Ссылка sollten wir das folgende Element zur faces-config.xml
-Datei mit der Liste der JSF-Seiten hinzufügen.
Sollte <protected-views>
für den JSF 2.2 CSRF-Schutz verwendet werden?
Ich bin verwirrt. Ich sehe, dass JSF 2.0 impliziten CSRF-Schutz hat: Wie JSF 2.0 CSRF verhindert
Dieser implizite Schutz gilt nur für POST-Anfragen (d. h. Seiten mit <h:form>
).
Auf der anderen Seite nach dem Artikel Ссылка sollten wir das folgende Element zur
%Vor%faces-config.xml
-Datei mit der Liste der JSF-Seiten hinzufügen.
Dieser Schutz ist auch bei GET-Anfragen wirksam (d. h. Seiten mit <f:viewAction>
, die seit JSF 2.2 ebenfalls neu sind). Wenn Sie <h:link>
oder <h:button>
verwenden, um GET-Links / -Schaltflächen zu diesen Seiten zu erstellen, wird ein neuer GET-Anforderungsparameter javax.faces.Token
mit einem automatisch generierten Token-Wert an die URL in der generierten HTML-Ausgabe angehängt und dieser Parameter wäre erforderlich, wenn die fragliche Seite in <protected-views>
deklariert ist.
Soll
<protected-views>
für den CSRF-Schutz von JSF 2.2 verwendet werden?
Nur auf Seiten mit <f:viewAction>
, die Sie CSRF-schützen möchten. Diejenigen mit <h:form>
sind bereits implizit durch% code_de% verstecktes Eingabefeld geschützt, vorausgesetzt, Sie haben den JSF-Ansichtszustand nicht durch javax.faces.ViewState
deaktiviert. Siehe auch a.o. CSRF, XSS und SQL Injection Angriffsprävention in JSF .
Tags und Links security jsf csrf jsf-2.2 protected-views