Escaping Otomatis dan Filter safe
Tetap aman dari XSS dan nonaktifkan perlindungan hanya jika yakin.
Escaping Otomatis dan Filter safe 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.
Bahaya HTML Mentah
Jika Anda langsung mencetak teks pengguna ke halaman, input yang berbahaya dapat menyisipkan skrip. Serangan ini disebut XSS, dan Flask melindunginya.
Autoescaping Aktif
Secara default, Jinja2 mengaktifkan autoescaping untuk templat HTML. Karakter berbahaya dinetralkan sebelum mencapai peramban.
Fungsi Escaping
Escaping mengubah karakter seperti tanda kurang dari menjadi entitas yang aman. Peramban kemudian menampilkannya sebagai teks, bukan sebagai markup aktif.
<b>hi</b> becomes <b>hi</b>Mengapa Teks Tetap Menjadi Teks
Karena tag di-escape, komentar seperti tag tebal palsu akan muncul sebagai teks biasa. Halaman menampilkannya secara harfiah, bukan menjalankannya.
Saat Anda Memercayai HTML
Terkadang Anda memang ingin HTML dirender, misalnya nilai yang Anda buat sendiri. Untuk itu, Anda dapat menonaktifkan escaping dengan filter safe.
{{ trusted_html|safe }}Cara Kerja safe
Filter safe memberi tahu Jinja2 bahwa nilai ini sudah tepercaya, jadi jangan melakukan escaping terhadapnya. Markup tersebut kemudian dirender sebagai HTML sungguhan.
Hanya untuk Data Tepercaya
Gunakan safe hanya pada konten yang Anda kendalikan. Menandai input pengguna sebagai safe akan membuka kembali celah XSS yang hendak ditutup oleh autoescaping.
Menandai Safe di Python
Anda juga dapat menandai HTML tepercaya di view menggunakan Markup. String Markup secara otomatis melewati escaping saat dirender.
from markupsafe import Markup
snippet = Markup('<b>Hi</b>')Menonaktifkan Escaping Secara Lokal
Untuk melewati escaping pada seluruh bagian, bungkus bagian tersebut dalam blok autoescape yang diatur ke false. Gunakan cara ini sesekali dan dengan sangat hati-hati.
{% autoescape false %}{{ html }}{% endautoescape %}Filter escape
Anda juga dapat memaksa escaping dengan filter escape, atau alias singkatnya, e. Ini berguna ketika autoescaping dinonaktifkan untuk suatu blok.
{{ value|e }}Aman Secara Default
Gagasan utamanya: Flask sudah aman sejak awal. Anda hanya melonggarkan escaping dengan sengaja, bukan secara tidak sengaja, sehingga pengguna tetap terlindungi.
Pemeriksaan Singkat
Anda mencetak input pengguna yang tidak tepercaya dalam templat. Apa yang dilakukan autoescaping terhadap tag HTML di dalamnya?
Ringkasan
Anda telah mempelajari bahwa Flask melakukan autoescaping pada keluaran untuk memblokir XSS, dan filter safe hanya menonaktifkannya untuk HTML yang sepenuhnya Anda percayai. Tetap aman! 🔒
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 “Escaping Otomatis dan Filter safe” gratis?
Ya — teks lengkap “Escaping Otomatis dan Filter safe” 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 “Escaping Otomatis dan Filter safe”?
Tetap aman dari XSS dan nonaktifkan perlindungan hanya jika yakin. 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 “Escaping Otomatis dan Filter safe” 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
- render_template dan Folder templates
- Kirim Data ke Template
- Perulangan dan Kondisional Jinja2
- Escaping Otomatis dan Filter safe