2014-06-10 5 views
6

Ich habe Anwendung, die CSRF Schutz von Apache-Modulen zur Verfügung gestellt haben. Meine Anwendung ein paar Seiten containt, mit denen einige Dateien laden, sieht wie folgt aus:CSRF-Schutz in Web-Anwendung

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

Alle Sachen durch die Zeit gut funktioniert wir unsere Apache-Version von httpd-2.2.3 zu httpd-2.2.15 aktualisiert haben.

Ich habe einige Zeit gegoogelt, und festgestellt, dass das Problem mit multipart/form-data Parameter in meinem Formular verbunden sein kann. In diesem Fall wird das Formular als nicht gesichert gesendet. Ich habe auch festgestellt, dass der Frühling Sachen wie oben über MultipartFilter vom Frühjahr doc http://docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/html/csrf.html#csrf-multipartfilter

Ich bin neu in CSRF Sachen umgehen kann. Ist gut zu wissen, ob es möglich ist, Feder CSRF Schutz mit Apache Konfiguration zu verwenden, um solche Fälle zu behandeln.

Auch habe ich festgestellt Abhilfe, wo ich CSRF für erforderlich URLs deaktivieren können, wie

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

Aber ich bin nicht sicher, wo es richtig sein wird.

Antwort

1

Im Folgenden sind die Vorschläge, die ich habe:

Bitte geben Sie die enctype entfernen, wenn nicht da mehrt erforderlich/form-data nicht in einigen der CSRF Bibliotheken einschließlich CSRF-Schutz unterstützt wird.

Wenn Sie das CSRF-Token mit einem versteckten Attribut festlegen, versuchen Sie, das Token im Attribut action anzuhängen. Hier ist dieser Link: https://code.google.com/p/csrf-filter/

Wenn Sie immer noch das gleiche Problem haben, müssen Sie möglicherweise die URL von CSRF-Prüfung ausschließen.

+0

Ich bin mir nicht sicher, ob ich Ihren Punkt in Bezug auf Google Filter verstehe. Bitte erläutern Sie, auf welche Weise das Problem mit dem Parameter multipart/form-data behoben werden kann. Vielen Dank – fashuser