Django Academy · Pelajaran

Perlindungan CSRF dan Alur POST

Tangani siklus pengiriman GET/POST dengan aman

Pelajaran 4 dari 413 langkah

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. ✅

Gratis untuk memulai

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

  1. Mendefinisikan forms.Form
  2. is_valid dan cleaned_data
  3. Merender Form dalam Template
  4. Perlindungan CSRF dan Alur POST
← Kembali ke Django Academy