Pertahanan terhadap XSS, CSRF, dan SQL Injection
Gunakan perlindungan Django dengan benar
Pertahanan terhadap XSS, CSRF, dan SQL Injection adalah pelajaran Django 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 Django Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Django Academy mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
The Big Three Web Attacks
Most web breaches come from three classics: XSS, CSRF, and SQL injection. The good news is Django defends against all three when you use it normally. 🛡️
What XSS Is
XSS happens when attacker-supplied text is rendered as live HTML or script in another user's browser, letting it steal data or hijack the page.
Templates Auto-Escape
Django's template engine auto-escapes variables, turning dangerous characters into safe entities. A script in user input renders as harmless text, not code.
<p>{{ user_comment }}</p>Do Not Disable Escaping
The safe filter and mark_safe turn escaping off. Only use them on content you fully trust, or you reopen the XSS door yourself.
{{ user_comment|safe }}What CSRF Is
CSRF tricks a logged-in user's browser into submitting a hidden request to your site, performing actions they never intended, like changing a password.
The CSRF Token
Django blocks this with a secret CSRF token tied to each session. A forged form from another site cannot include the right token, so the POST is rejected.
Add the Token to Forms
Drop the csrf_token tag inside every POST form. Django injects the hidden field and verifies it on submit, all automatically.
<form method="post">{% csrf_token %}
...
</form>What SQL Injection Is
SQL injection sneaks malicious SQL into a query through user input, letting an attacker read, change, or delete data they should never touch.
The ORM Protects You
Using the ORM keeps you safe by default. It parameterizes values, so user input is treated as data, never as executable SQL.
Article.objects.filter(title=user_input)Parameterize Raw SQL
If you must write raw SQL, never glue input into the string. Pass values as parameters so the driver escapes them safely for you.
Article.objects.raw("SELECT * FROM blog_article WHERE id = %s", [pk])Add a Content Security Policy
For defense in depth against XSS, a Content Security Policy tells browsers which scripts may run. It limits damage even if bad markup slips through.
Quick Check
One question on how Django keeps these attacks out.
Recap: Defaults Are Your Friend
Template auto-escaping, the CSRF token, and the parameterized ORM shut down XSS, CSRF, and SQL injection. Stay on the defaults and you stay safe. 🙌
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pertahanan terhadap XSS, CSRF, dan SQL Injection” gratis?
Ya — teks lengkap “Pertahanan terhadap XSS, CSRF, dan SQL Injection” 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 “Pertahanan terhadap XSS, CSRF, dan SQL Injection”?
Gunakan perlindungan Django dengan benar 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 3 dari 4.
Berapa lama pelajaran “Pertahanan terhadap XSS, CSRF, dan SQL Injection” 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
- DEBUG, SECRET_KEY, dan ALLOWED_HOSTS
- HTTPS, HSTS, dan Cookie Aman
- Pertahanan terhadap XSS, CSRF, dan SQL Injection
- Menjalankan Daftar Periksa Penerapan