2014-06-10 15 views
6

Ho un'applicazione che ha la protezione CSRF fornita dai moduli apache. La mia applicazione containt poche pagine che consentono di caricare alcuni file, si presenta così:Protezione CSRF nell'applicazione Web

<form:form method="post" action="my.controller" enctype="multipart/form-data" id="form"> 

Tutta roba ha funzionato bene per il momento abbiamo aggiornato la nostra versione di Apache da httpd-2.2.3 a httpd-2.2.15.

Ho cercato un po 'di tempo e ho riscontrato che il problema può essere correlato al parametro multipart/form-data nel mio modulo. In questo caso il modulo invia come non protetto. Inoltre ho trovato che la primavera può gestire cose come sopra via MultipartFilter dalla primavera doc http://docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/html/csrf.html#csrf-multipartfilter

Sono nuovo in CSRF roba. Sarà bene sapere che è possibile utilizzare la protezione molla CSRF con la configurazione di apache apache per gestire tali casi.

Inoltre ho trovato soluzione in cui posso disabilitare CSRF per gli URL necessari, come

RewriteRule /url/mycontroller.controller - [E = CSRF_IGNORE: yes]

Ma io sono non sono sicuro che sarà corretto.

risposta

1

Di seguito sono riportati i suggerimenti che ho:

rimuovere l'enctype se non richiesto dal multipart/form-data non è supportato in alcune delle librerie CSRF compresi CSRF Guard.

Se si imposta il token CSRF utilizzando l'attributo nascosto, provare ad aggiungere il token nell'attributo azione. Ecco questo link: https://code.google.com/p/csrf-filter/

Se si continua ad affrontare lo stesso problema, potrebbe essere necessario escludere l'URL dal controllo CSRF.

+0

Non sono sicuro di aver compreso il tuo punto riguardo il filtro Google. Si prega di spiegare, in che modo dovrebbe risolvere il problema con il parametro multipart/form-data. Grazie – fashuser

Problemi correlati