Flask Academy · Les

validate_on_submit en CSRF-tokens

Verwerk geldige POSTs en blokkeer vervalsingen.

Les 3 van 413 stappen

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 data

Het 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 rule

Onderzoeken 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. 🛡️

Gratis beginnen

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

  1. Een FlaskForm-klasse definiëren
  2. Een formulier renderen en verzenden
  3. validate_on_submit en CSRF-tokens
  4. Aangepaste validators en veldfouten
← Terug naar Flask Academy