Perlindungan CSRF dan Alur POST
Tangani siklus pengiriman GET/POST dengan aman
Perlindungan CSRF dan Alur POST adalah pelajaran Django Academy gratis di CoddyKit. Ini adalah pelajaran 4 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 Django Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Django Academy mencakup 4 pelajaran total.
Apa Itu CSRF
CSRF mengelabui pengguna yang sudah masuk agar mengirimkan request tersembunyi. Django memblokirnya agar penyerang tidak dapat bertindak atas nama pengguna. 🔒
Perlindungan Aktif
Django mengaktifkan CsrfViewMiddleware secara default, sehingga setiap POST yang tidak dilindungi ditolak sampai Anda menambahkan token yang tepat.
Tag csrf_token
Tambahkan {% csrf_token %} di dalam setiap formulir POST. Tag ini menyisipkan field tersembunyi dengan token rahasia khusus untuk setiap sesi.
<form method="post">
{% csrf_token %}
</form>Mengapa Ini Berfungsi
Token tersebut membuktikan bahwa request berasal dari halaman Anda sendiri. Formulir palsu dari situs lain tidak dapat menebaknya, sehingga POST gagal.
GET Menampilkan Formulir
Request GET menampilkan formulir kosong yang belum terikat agar pengguna dapat mulai mengetikkan inputnya.
if request.method == "GET":
form = ContactForm()POST Mengirimkan Data
POST mengirimkan kembali nilai yang telah diisi. Anda mengikatnya ke formulir dan menjalankan validasi sebelum melakukan apa pun.
if request.method == "POST":
form = ContactForm(request.POST)Validasi Lalu Bertindak
Jika formulir terikat is_valid(), proses cleaned_data: simpan, kirim email, atau lakukan apa pun yang menjadi tujuan formulir tersebut.
if form.is_valid():
save(form.cleaned_data)Alihkan Setelah Berhasil
Jika berhasil, lakukan redirect ke URL baru. Pola Post/Redirect/Get ini mencegah pemuatan ulang mengirimkan data kembali.
return redirect("thanks")Tampilkan Kembali Saat Terjadi Error
Jika validasi gagal, tampilkan kembali templat yang sama dengan formulir terikat. Formulir tersebut tetap menyimpan input dan menampilkan setiap error.
return render(request, "contact.html",
{"form": form})Pola Lengkap
Pola GET untuk menampilkan dan POST untuk memproses ini adalah tampilan formulir standar. Satu tampilan menangani kedua metode dengan rapi.
form = ContactForm(request.POST or None)
if form.is_valid():
return redirect("thanks")Perhatikan Request AJAX
POST dari JavaScript harus mengirimkan token dalam header X-CSRFToken, yang dibaca dari cookie csrftoken, atau Django akan menolaknya.
Pemeriksaan Cepat
Periksa pemahaman Anda tentang CSRF dan POST.
Rangkuman
Tambahkan csrf_token ke setiap formulir POST. GET menampilkan formulir, POST memvalidasinya, lalu lakukan redirect jika berhasil atau tampilkan kembali saat terjadi error. ✅
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 “Perlindungan CSRF dan Alur POST” gratis?
Ya — teks lengkap “Perlindungan CSRF dan Alur POST” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Django Academy, upgrade ke CoddyKit PRO. Kursus Django Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Perlindungan CSRF dan Alur POST”?
Tangani siklus pengiriman GET/POST dengan aman Kamu berlatih Django 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 Django Academy?
Tidak diperlukan pengalaman sebelumnya. Django 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 4 dari 4.
Berapa lama pelajaran “Perlindungan CSRF dan Alur POST” 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 Django Academy ini?
Ya. Setiap pelajaran Django 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
- Mendefinisikan forms.Form
- is_valid dan cleaned_data
- Merender Form dalam Template
- Perlindungan CSRF dan Alur POST