Was ist die bevorzugte Möglichkeit, mit zwischengespeicherten Formularen und CSRF-Token umzugehen? Here Sie schlagen ein JS-Überschreiben des Eingabeattributs vor, aber ich möchte auch den Header zwischenspeichern.Fragment-Caching & CSRF
5
A
Antwort
4
Hier ist ein Artikel, der verschiedene Methoden beschreibt: http://www.fastly.com/blog/Caching-the-Uncacheable-CSRF-security/.
Eine kurze Zusammenfassung:
- Mit ESI (Edge Side Includes): einen Platzhalter in Rails machen, die Sie Token später mit dem CSRF füllen.
- Das CSRF-Token in einen Cookie einfügen und über Javascript in das Formular kopieren.
- Holen Sie das Token in einer separaten AJAX-Anfrage und kopieren Sie es über Javascript in das Formular.
Meine Meinung:
Sie benötigen spezielle Infrastruktur für den Einsatz von ESI einzurichten, so dass ich nicht wie die Lösung. AJAX-Anfragen sind langsam und viel Netzwerk-Overhead, also mag ich diese Lösung auch nicht ... Also würde ich mit der Cookie-Lösung oder mit der JS-Lösung, die Sie bereits erwähnt, gehen, da dies die einfachsten Lösungen sind.
1
das funktioniert für mich. Ich behielt das nur in meiner application.js
und alles funktioniert einwandfrei.
$.ajaxSetup({
beforeSend: function(xhr) {
var csrf_value = $("meta[name='csrf-token']").attr("content");
xhr.setRequestHeader("X-CSRF-Token", csrf_value);
},
});
Verwandte Themen
- 1. Django REST-Framework CSRF fehlgeschlagen: CSRF Cookie nicht
- 2. CSRF-Schutz mit Symfony
- 3. symfony2 CSRF ungültig
- 4. eckig, django und csrf
- 5. csrf token mit
- 6. Flask: CSRF Überprüfung fehlgeschlagen
- 7. CSRF in tokenbasierter Authentifizierung
- 8. Django - 2 csrf Tokens
- 9. Spring Security CSRF Token
- 10. Funktioniert Djangos CSRF-Schutz?
- 11. wtforms, CSRF, Kolben, FieldList
- 12. Ajax, CSRF und DELETE
- 13. Braintree CSRF-Token fehlt
- 14. Django - CSRF-Verifizierung fehlgeschlagen
- 15. csrf Fehler in Django
- 16. Flask-Security CSRF-Token
- 17. CSRF nicht übereinstimmendes Token
- 18. Codeigniter CSRF JQuery Ausgabe
- 19. CSRF auf einer Anmeldeseite
- 20. Django - Javascript - Csrf Token
- 21. Symfony CSRF Tests nicht
- 22. Warum erlauben Browser CSRF?
- 23. CodeIgniter, CSRF-Token
- 24. Kraken.js CSRF Handhabung
- 25. Laravel CSRF Token
- 26. Djangos Kommentare Rahmen und CSRF
- 27. Struts2-Token-Interceptor: CSRF-Schutz
- 28. Spring Security, Restauthentifizierung und CSRF
- 29. Spring OAuth2-Client, CSRF-Schutz
- 30. Angular2 Http Laravel CSRF-Token
Dies entspricht nicht der Tatsache, dass Schienen standardmäßig ein verstecktes Feld in allen Ihren Formularen einfügen, die das CSRF-Token enthält. Dieses Formular wird weiterhin zwischengespeichert. Obwohl die ungültigen Token-Fehler verschwinden, werden die Token Ihrer Benutzer an andere Benutzer in diesem Cache weitergegeben. – phylae