0Pricing
Flask Academy · Pelajaran

Validasi Input untuk Menghentikan Injeksi

Tolak payload berbahaya di tepi sistem.

Validasi Input untuk Menghentikan Injeksi adalah pelajaran Flask 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 Flask Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Flask Academy mencakup 4 pelajaran total.

Jangan Pernah Mempercayai Input

Setiap nilai yang dikirim klien mungkin berbahaya. Menganggap semua input sebagai tidak tepercaya adalah pola pikir yang mencegah sebagian besar serangan.

Arti Injeksi

Injeksi terjadi saat input pengguna diperlakukan sebagai kode atau perintah. Penyerang menyelundupkan instruksi ke dalam kueri atau shell.

Injeksi SQL dalam Satu Baris

Menempelkan input langsung ke SQL adalah kesalahan klasik. Nilai yang dibuat khusus dapat menulis ulang kueri Anda dan menyalin seluruh tabel.

db.execute("SELECT * FROM users WHERE name = '" + name + "'")

Gunakan Kueri Berparameter

Solusinya adalah meneruskan nilai sebagai parameter, bukan menggabungkan string. Driver kemudian melakukan pelolosan dengan aman untuk Anda.

db.execute("SELECT * FROM users WHERE name = ?", (name,))

ORM Membantu

Dengan SQLAlchemy, Anda menggunakan filter_by dan nilai terikat, sehingga kueri secara default menggunakan parameter dan injeksi menjadi jauh lebih sulit.

User.query.filter_by(name=name).first()

Validasi Bentuk dan Jenis

Periksa bahwa input sesuai dengan yang Anda harapkan sebelum menggunakannya. Pastikan jenis dan rentangnya agar string tidak menyusup ke tempat yang seharusnya berisi angka.

age = request.args.get("age", type=int)

Daftar Izinkan Lebih Baik daripada Daftar Blokir

Mencantumkan beberapa nilai yang Anda terima lebih baik daripada mengejar setiap nilai yang buruk. Daftar izinkan menolak apa pun yang tidak Anda izinkan secara eksplisit.

Validasi dengan Skema

Pustaka skema seperti Marshmallow memeriksa kolom untuk Anda. Pustaka ini memunculkan ValidationError saat bentuk muatan tidak sesuai.

data = UserSchema().load(request.get_json())

Loloskan Output untuk XSS

Injeksi juga dapat masuk ke HTML. Pelolosan otomatis Jinja2 mengubah teks pengguna menjadi karakter yang aman sehingga skrip tidak dapat berjalan di halaman.

Waspadai Filter safe

Menandai konten dengan filter safe menonaktifkan pelolosan. Lakukan hanya untuk teks yang sepenuhnya Anda percayai, jangan untuk input pengguna mentah.

Tolak Sejak Awal di Tepi

Validasi data segera setelah data tiba, sebelum menyentuh logika Anda. Gagal secara cepat dengan 400 mencegah input buruk menyebar.

Pemeriksaan Singkat

Pilih teknik yang menghentikan injeksi SQL.

Rangkuman

Anda belajar untuk tidak mempercayai input, menghentikan injeksi SQL dengan kueri berparameter, melakukan validasi dengan skema, menggunakan daftar izinkan, dan melakukan pelolosan pada output. Keamanan yang solid!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Validasi Input untuk Menghentikan Injeksi” gratis?

Ya — teks lengkap “Validasi Input untuk Menghentikan Injeksi” 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 “Validasi Input untuk Menghentikan Injeksi”?

Tolak payload berbahaya di tepi sistem. 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 4 dari 4.

Berapa lama pelajaran “Validasi Input untuk Menghentikan Injeksi” 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

  1. Batasi Request dengan Flask-Limiter
  2. Konfigurasikan CORS untuk Klien Peramban
  3. Header Keamanan dan HTTPS
  4. Validasi Input untuk Menghentikan Injeksi
← Kembali ke Flask Academy