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
- Batasi Request dengan Flask-Limiter
- Konfigurasikan CORS untuk Klien Peramban
- Header Keamanan dan HTTPS
- Validasi Input untuk Menghentikan Injeksi