Django-SafeForm.

CSRF-Schutz für Django-Formulare
Jetzt downloaden

Django-SafeForm. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • BSD License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Simon Willison
  • Website des Verlags:
  • http://www.sslinks.co.uk

Django-SafeForm. Stichworte


Django-SafeForm. Beschreibung

CSRF-Schutz für Django-Formulare Django-SafeForm bietet CSRF-Schutz für Django auf Formularebene - keine Middleware erforderlich. Es gibt zwei Schritte zum Schutz eines django.Forms-Formulars: 1. Wickeln Sie es mit dem SafeForm Class Decorator. Dies fügt ein verborgenes Csrf_Token-Feld zusammen mit der Validierungslogik hinzu, um zu überprüfen, ob dieses Token den korrekten Wert hat. Es ändert auch die Unterzeichnung der Formularklasse leicht, siehe Beispiel unten. Wenden Sie die @Csrf_Protect-Middleware an die Ansicht, die das Formular enthält. Dadurch wird sichergestellt, dass ein _csrf_cookie korrekt set.Run "./manage.py runserver" im Ordner Beispiele, um einen Django-Server zu starten, der die Funktionalität der Bibliothek demonstriert. Verwenden Sie "./Manage.py test" im selben Verzeichnis, um die Einheitstests auszuführen ): Password = Forms.Charfield (Widget = Forms.Passwordinput) Kennwort2 = Forms.Charfield (Widget = Forms.Passidwordinput) ChangepasswordFormForm = SafeForm (ChangepasswordForm) @csrf_Protect Def Change_password (Anforderung): Form = ChangepasswordForm (Anforderung) # A IF Formular .is_valid (): # b # ... Ändern des Kennworts des Benutzers hier Zurück Zurück HTTPREPSPONSE ("danke") return render_to_response ('change_password.html', {'Formular': Formular}) A: Beachten Sie, dass wir das Ganze passieren Anforderungsobjekt an den Konstruktor, anstatt nur vorbei an fordern.Post.B: Ein angenehmer Side-Effekt von SafeForm ist, dass Sie nicht mehr überprüfen müssen, ob anfrage.method == 'post', um zu entscheiden, ob oder nicht Binden Sie ein Formular an einen Satz von Eingabedaten - SafeForm-Griffe dies Für Sie Wenn Sie das Formular mithilfe einer benutzerdefinierten Vorlage rendern, müssen Sie sich daran erinnern, dieses Feld in Ihrer Vorlage explizit auszugeben. Hier ist ein Beispiel: {{form.non_field_errors}} Neues Passwort {{form.password}} Anforderungen: · Python · Django


Django-SafeForm. Zugehörige Software