0Pricing
Flask Academy · Lekcja

Automatyczne escapowanie i filtr safe

Chroń aplikację przed XSS i wyłączaj ochronę tylko wtedy, gdy masz pewność.

Automatyczne escapowanie i filtr safe to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Flask Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Flask Academy zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

The Danger of Raw HTML

If you print user text straight into a page, a sneaky input could inject scripts. This attack is called XSS, and Flask defends against it.

Autoescaping Is On

By default Jinja2 turns on autoescaping for HTML templates. Dangerous characters get neutralized before they reach the browser.

What Escaping Does

Escaping converts characters like the less-than sign into safe entities. The browser then shows them as text, never as live markup.

<b>hi</b>  becomes  &lt;b&gt;hi&lt;/b&gt;

Why Text Stays Text

Because tags are escaped, a comment like a fake bold tag shows up as plain text. The page renders it literally instead of running it.

When You Trust the HTML

Sometimes you truly want HTML rendered, like a value you built yourself. For that you can opt out with the safe filter.

{{ trusted_html|safe }}

How safe Works

The safe filter tells Jinja2 this value is already trusted, so do not escape it. The markup then renders as real HTML.

Only on Trusted Data

Use safe only on content you control. Marking user input safe reopens the very XSS hole autoescaping was closing.

Marking Safe in Python

You can also flag trusted HTML in your view with Markup. A Markup string skips escaping automatically when rendered.

from markupsafe import Markup
snippet = Markup('<b>Hi</b>')

Disabling Escaping Locally

To skip escaping for a whole region, wrap it in an autoescape block set to false. Use this rarely and with great care.

{% autoescape false %}{{ html }}{% endautoescape %}

The escape Filter

You can also force escaping with the escape filter, or its short alias e. It is handy when autoescaping is off for a block.

{{ value|e }}

Safe by Default

The big idea: Flask is secure out of the box. You only relax escaping deliberately, never by accident, which keeps users protected.

Quick Check

You print untrusted user input in a template. What does autoescaping do with HTML tags in it?

Recap

You learned Flask autoescapes output to block XSS, and that the safe filter opts out only for HTML you fully trust. Stay secure! 🔒

Często zadawane pytania

Czy lekcja „Automatyczne escapowanie i filtr safe” jest bezpłatna?

Tak — pełny tekst „Automatyczne escapowanie i filtr safe” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Flask Academy, przejdź na CoddyKit PRO. Kurs Flask Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Automatyczne escapowanie i filtr safe”?

Chroń aplikację przed XSS i wyłączaj ochronę tylko wtedy, gdy masz pewność. Ćwiczysz Flask Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Flask Academy?

Nie wymagamy żadnego doświadczenia. Flask Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Automatyczne escapowanie i filtr safe”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Flask Academy?

Tak. Każda lekcja Flask Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. render_template i folder templates
  2. Przekazywanie danych do szablonu
  3. Pętle i instrukcje warunkowe Jinja2
  4. Automatyczne escapowanie i filtr safe
← Powrót do Flask Academy