security - ¿Se debe usar<protected-views> para la protección JSF 2.2 CSRF?
jsf-2.2 (1)
Estoy confundido. Veo que JSF 2.0 tiene protección CSRF implícita: cómo JSF 2.0 previene CSRF
Por otro lado, de acuerdo con el artículo http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/JSF-CSRF-Demo/JSF2.2CsrfDemo.html , deberíamos agregar el siguiente elemento a faces-config.xml archivo faces-config.xml con la lista de páginas JSF.
<protected-views>
<url-pattern>/csrf_protected_page.xhtml</url-pattern>
</protected-views>
¿Se debe usar <protected-views> para la protección JSF 2.2 CSRF?
Estoy confundido. Veo que JSF 2.0 tiene protección CSRF implícita: cómo JSF 2.0 previene CSRF
Esta protección implícita solo se aplica a solicitudes POST (es decir, páginas con <h:form> ).
Por otro lado, de acuerdo con el artículo http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/JSF-CSRF-Demo/JSF2.2CsrfDemo.html , deberíamos agregar el siguiente elemento a
faces-config.xmlarchivofaces-config.xmlcon la lista de páginas JSF.
<protected-views> <url-pattern>/csrf_protected_page.xhtml</url-pattern> </protected-views>
Esta protección también será efectiva en las solicitudes GET (es decir, páginas con <f:viewAction> , que también es nuevo desde JSF 2.2). Siempre que use <h:link> o <h:button> para crear enlaces / botones GET en esas páginas, se javax.faces.Token un nuevo parámetro de solicitud GET javax.faces.Token con un valor de token autogenerado a la URL en el HTML generado. salida y este parámetro sería necesario cuando la página en cuestión se declara en <protected-views> .
¿Se debe usar
<protected-views>para la protección JSF 2.2 CSRF?
Solo en páginas con <f:viewAction> que le gustaría proteger con CSRF. Aquellos con <h:form> ya están protegidos implícitamente por javax.faces.ViewState campo de entrada oculto, siempre que no haya desactivado el estado de vista JSF por <f:view transient="true"> . Consulte también la prevención de ataques de inyección CSRF, XSS y SQL en JSF .