Exercices Concepts Web & Django Echappement HTML
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Echappement HTML

Imagine qu'un utilisateur entre son nom dans un formulaire et tape : <script>alert('pirate')</script>

Si tu affiches ce texte tel quel dans la page HTML, le navigateur va exécuter le script. C'est une attaque XSS (Cross-Site Scripting), l'une des failles de sécurité les plus courantes du web.

Pour s'en proteger, on echappe les caracteres speciaux HTML en les remplacant par des entites :
- & devient &amp;
- < devient &lt;
- > devient &gt;
- " devient &quot;
- ' devient &#x27;

Attention a l'ordre : il faut remplacer & en premier, sinon &lt; deviendrait &amp;lt; (le & du remplacement serait lui-meme echappe).

Écris une fonction echapper_html(texte) qui effectue ces remplacements.

Exemple :
echapper_html('<b>gras</b>') renvoie '&lt;b&gt;gras&lt;/b&gt;'

Tests (2/4)

Balises script
assert echapper_html('<script>alert(1)</script>') == '&lt;script&gt;alert(1)&lt;/script&gt;'
Guillemets
assert echapper_html('a="b"') == 'a=&quot;b&quot;'

+ 0 tests cachés

Indices (3 disponibles)

solution.py