Django-SafeFormCSRF-beveiliging voor Django-formulieren | |
Download nu |
Django-SafeForm Rangschikking & Samenvatting
Advertentie
- 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