validate_on_submit dan Token CSRF
Proses POST yang valid dan blokir pemalsuan.
validate_on_submit dan Token CSRF adalah pelajaran Flask Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Flask Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Flask Academy mencakup 4 pelajaran total.
Metode Utama
Flask-WTF menyediakan satu metode yang memeriksa semuanya sekaligus. validate_on_submit adalah inti pemrosesan formulir apa pun dengan aman. 🔑
Apa yang Sebenarnya Diperiksa
validate_on_submit mengembalikan True hanya ketika permintaan berupa POST dan setiap validator berhasil. Satu pemanggilan mencakup kedua kondisi tersebut.
if form.validate_on_submit():
pass # safe to use the dataPola Tampilan Standar
Pola ini berulang di setiap aplikasi Flask: buat formulir, buat percabangan berdasarkan validate_on_submit, lalu lanjutkan untuk merender halaman.
form = LoginForm()
if form.validate_on_submit():
return redirect('/home')
return render_template('login.html', form=form)Dikirim vs Valid
Jangan mencampuradukkan keduanya. is_submitted hanya memeriksa metode, sedangkan validate_on_submit juga memastikan data melewati setiap aturan.
form.is_submitted() # POST?
form.validate_on_submit() # POST and valid?Mengapa CSRF Penting
Serangan CSRF menipu pengguna yang sudah masuk agar mengirim formulir yang tidak pernah ingin mereka kirim. Token membuktikan bahwa permintaan berasal dari halaman Anda sendiri.
SECRET_KEY Diperlukan
Token CSRF ditandatangani, jadi Flask memerlukan SECRET_KEY. Tanpanya, validasi gagal dan Flask-WTF menolak melindungi formulir.
app.config['SECRET_KEY'] = 'change-me-in-production'Token di Halaman
Pemanggilan hidden_tag tersebut menyematkan token yang ditandatangani sebagai masukan tersembunyi. Peramban mengirimkannya kembali pada setiap pengiriman.
{{ form.hidden_tag() }}Validasi Membandingkan Token
Saat dikirim, Flask-WTF membandingkan token yang dikirim dengan sesi. Token yang hilang atau kedaluwarsa membuat validate_on_submit mengembalikan False.
if not form.validate_on_submit():
pass # bad token or failed rulePeriksa Penyebab Kegagalan
Ketika validasi gagal, periksa form.errors. Data tersebut memetakan setiap nama bidang ke daftar pesan yang menjelaskan masalahnya.
if not form.validate_on_submit():
print(form.errors)Proses Lalu Alihkan
Setelah pengiriman berhasil, akhiri dengan pengalihan. Ini mengikuti pola PRG dan mencegah pemuatan ulang mengirim data dua kali.
if form.validate_on_submit():
save(form.data)
return redirect('/done')Jangan Menonaktifkan CSRF Sembarangan
Anda dapat menonaktifkan CSRF untuk API, tetapi jangan pernah melakukannya untuk formulir peramban. Mempertahankan perlindungan tetap aktif membuat Flask-WTF layak digunakan.
Pemeriksaan Cepat
Kapan form.validate_on_submit() mengembalikan True?
Ringkasan
Anda mengandalkan validate_on_submit untuk pemeriksaan metode dan aturan, menetapkan SECRET_KEY untuk token CSRF yang ditandatangani, lalu mengalihkan setelah berhasil. 🛡️
Belajar Python dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “validate_on_submit dan Token CSRF” gratis?
Ya — teks lengkap “validate_on_submit dan Token CSRF” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Flask Academy, upgrade ke CoddyKit PRO. Kursus Flask Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “validate_on_submit dan Token CSRF”?
Proses POST yang valid dan blokir pemalsuan. Kamu berlatih Flask Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Flask Academy?
Tidak diperlukan pengalaman sebelumnya. Flask Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “validate_on_submit dan Token CSRF” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Flask Academy ini?
Ya. Setiap pelajaran Flask Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Tentukan Class FlaskForm
- Render dan Kirim Formulir
- validate_on_submit dan Token CSRF
- Validator Kustom dan Error Kolom