validate_on_submit en CSRF-tokens
Verwerk geldige POSTs en blokkeer vervalsingen.
validate_on_submit en CSRF-tokens is een gratis Flask Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Flask Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Flask Academy bevat in totaal 4 lessen.
De gouden methode
Flask-WTF geeft je één methode die alles tegelijk controleert. validate_on_submit vormt de kern van het veilig verwerken van elk formulier. 🔑
Wat er echt wordt gecontroleerd
validate_on_submit retourneert alleen True wanneer het verzoek een POST is en elke validator slaagt. Eén aanroep dekt beide voorwaarden.
if form.validate_on_submit():
pass # safe to use the dataHet standaardpatroon voor een view
Deze structuur komt in elke Flask-app terug: bouw het formulier, vertak op validate_on_submit en ga daarna verder met het renderen van de pagina.
form = LoginForm()
if form.validate_on_submit():
return redirect('/home')
return render_template('login.html', form=form)Verzonden versus geldig
Haal die twee niet door elkaar. is_submitted controleert alleen de methode, terwijl validate_on_submit ook bevestigt dat de gegevens elke regel doorstaan.
form.is_submitted() # POST?
form.validate_on_submit() # POST and valid?Waarom CSRF belangrijk is
Een CSRF-aanval misleidt een ingelogde gebruiker zodat die een formulier verstuurt zonder dat dit de bedoeling was. Tokens bewijzen dat het verzoek van je eigen pagina kwam.
SECRET_KEY is vereist
CSRF-tokens zijn ondertekend, dus Flask heeft een SECRET_KEY nodig. Zonder deze sleutel mislukt de validatie en weigert Flask-WTF het formulier te beschermen.
app.config['SECRET_KEY'] = 'change-me-in-production'Het token op de pagina
Die aanroep van hidden_tag voegt het ondertekende token toe als verborgen invoer. De browser stuurt het bij elke verzending terug.
{{ form.hidden_tag() }}Validatie vergelijkt tokens
Bij het verzenden vergelijkt Flask-WTF het meegestuurde token met de sessie. Door een ontbrekend of verouderd token retourneert validate_on_submit False.
if not form.validate_on_submit():
pass # bad token or failed ruleOnderzoeken waarom het mislukte
Wanneer de validatie mislukt, bekijk je form.errors. Dit koppelt elke veldnaam aan de lijst met berichten die het probleem uitleggen.
if not form.validate_on_submit():
print(form.errors)Verwerken en daarna omleiden
Sluit een succesvolle verzending af met een redirect. Daarmee volg je het PRG-patroon en voorkom je dat vernieuwen het formulier twee keer verstuurt.
if form.validate_on_submit():
save(form.data)
return redirect('/done')CSRF nooit zomaar uitschakelen
Je kunt CSRF voor API's uitschakelen, maar nooit voor browserformulieren. Door de bescherming ingeschakeld te houden, is Flask-WTF de moeite waard.
Korte controle
Wanneer retourneert form.validate_on_submit() True?
Samenvatting
Je hebt validate_on_submit gebruikt voor de controle van methode en regels, een SECRET_KEY ingesteld voor ondertekende CSRF-tokens en na succes een omleiding uitgevoerd. 🛡️
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “validate_on_submit en CSRF-tokens” gratis?
Ja — de volledige tekst van “validate_on_submit en CSRF-tokens” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Flask Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Flask Academy bevat in totaal 4 lessen.
Wat leer ik in “validate_on_submit en CSRF-tokens”?
Verwerk geldige POSTs en blokkeer vervalsingen. Je oefent met Flask Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Flask Academy te beginnen?
Ervaring vooraf is niet nodig. Flask Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “validate_on_submit en CSRF-tokens”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Flask Academy?
Ja. Elke les over Flask Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Een FlaskForm-klasse definiëren
- Een formulier renderen en verzenden
- validate_on_submit en CSRF-tokens
- Aangepaste validators en veldfouten