Django-SafeForm

CSRF-beveiliging voor Django-formulieren
Download nu

Django-SafeForm Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • BSD License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Simon Willison
  • Uitgever website:
  • http://www.sslinks.co.uk

Django-SafeForm Tags


Django-SafeForm Beschrijving

CSRF-bescherming voor Django-formulieren Django-SafeForm biedt CSRF-bescherming voor Django geïmplementeerd op het formulierniveau - geen middleware vereist. Er zijn twee stappen om een Django.Forms-formulier te beschermen: 1. Wikkel het met de Safform Class-decorator. Dit voegt een verborgen CSRF_token-veld toe, samen met validatie logica voor het controleren of dat token de juiste waarde heeft. Het verandert ook de handtekening van de formulierklasse enigszins, zie voorbeeld hieronder.2. Pas de @CSRF_Protect-middleware toe op het weergave dat het formulier bevat. Dit zorgt ervoor dat een _csrf_cookie correct is ingesteld .Run "./manage.py runserver" in de map voorbeelden om een Django-server te starten die de functionaliteit van de bibliotheek demonstreert. Gebruik "./Manage.py-test" in dezelfde map om het apparaat testen te gebruiken. Example-gebruik: van django importformulieren van django.http import httepresponse van django.shortcuts importeren render_to_response van django_safeform import safeform, CSRF_Protect Class ChangePasswordform (forms.form ): Wachtwoord = forms.charfield (widget = forms.passwordinput) Password2 = forms.charfield (widget = forms.passwordinput) ChangePasswordform = SafeForm (ChangePasswordform) @CSRF_Protect Def Change_Password (aanvraag): formulier = Wijziging) # A IF Form .is_valid (): # B # ... het wachtwoord van de gebruiker wijzigen hier retourneert HTTPEPONSE ('Dank u') RETURNEREN_TO_REPONSE ('Change_Password.html', {'Form': Form,}) A: Merk op dat we het geheel passeren Verzoek van het object aan de constructor, in plaats van alleen passerend verzoek.Post.b: een aangenaam neveneffect van SafeForm is dat u niet langer hoeft te controleren of het verzoek.method == 'Post' is om te beslissen of Bind een formulier aan een set invoergegevens - SafeForm behandelt dit Voor u.Custom-formuliersjablonen: als uw sjabloon een van de formulierweergave helpermethoden gebruikt, zoals {{form.as_p}} het veld Hidden CSRF_TOKE wordt automatisch uitgevoerd. Als u het formulier weergeeft met behulp van een aangepaste sjabloon, moet u onthouden om dat veld in uw sjabloon uitdrukkelijk uit te voeren. Hier is een voorbeeld: {{form.non_field_Errors}} Nieuw wachtwoord {{form.password}} Vereisten: · Python · Django


Django-SafeForm Gerelateerde software

Mkgallery

MKGallery stelt u in staat om uw eigen galerij voor internet te maken met HTML 4.0 en CSS-ondersteuning. ...

138

Downloaden