Échappement automatique et filtre safe
Restez protégé contre XSS et désactivez la protection uniquement si nécessaire.
Échappement automatique et filtre safe est une leçon Flask Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Flask Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Flask Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
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 <b>hi</b>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! 🔒
Questions Fréquemment Posées
La leçon « Échappement automatique et filtre safe » est-elle gratuite ?
Oui — le texte complet de « Échappement automatique et filtre safe » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Flask Academy, passe à CoddyKit PRO. Le cours Flask Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Échappement automatique et filtre safe » ?
Restez protégé contre XSS et désactivez la protection uniquement si nécessaire. Tu pratiques Flask Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Flask Academy ?
Aucune expérience préalable n'est requise. Flask Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Échappement automatique et filtre safe » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Flask Academy ?
Oui. Chaque leçon Flask Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- render_template et le dossier templates
- Transmettre des données à un modèle
- Boucles et conditions Jinja2
- Échappement automatique et filtre safe