Flask Academy · Pelajaran

Escaping Otomatis dan Filter safe

Tetap aman dari XSS dan nonaktifkan perlindungan hanya jika yakin.

Pelajaran 4 dari 413 langkah

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  &lt;b&gt;hi&lt;/b&gt;

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! 🔒

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 “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

  1. render_template dan Folder templates
  2. Kirim Data ke Template
  3. Perulangan dan Kondisional Jinja2
  4. Escaping Otomatis dan Filter safe
← Kembali ke Flask Academy