Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Un site, des dangers

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

30 minutes

Le commentaire piégé

Le site du lycée a un mur de commentaires. Tout le monde peut écrire. Un élève tape un texte étrange à la place d’une phrase.

Soudain, le mur change d’aspect pour tous les visiteurs.

Comment un simple texte a-t-il pu changer la page ? C’est ce qu’on va comprendre.

Mots-clés

MotCe que ça veut direExemple
InjectionUn texte tapé par un visiteur est pris pour du code.<b>gras</b> devient du gras
SaisieCe que le visiteur tape ou choisit.un commentaire
ÉchapperMontrer le texte tel quel, sans le lire comme du code.textContent
ConfianceCroire qu’une donnée est sûre. Pour une saisie, on ne la donne jamais.un âge de 500 ans
SecretUne information qu’on ne doit pas montrer : un mot de passe, une clé.un mot de passe
Côté serveurCe qui se passe sur le serveur, hors de la page. Le visiteur ne peut pas le changer.la vérification d’un âge

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

À toi : un mur de commentaires fragile

Code: web
<p>Laisse un commentaire :</p>
<input id="commentaire" value="Super match !" size="30">
<button id="envoyer">Publier</button>
<div id="mur"></div>

Pourquoi ça arrive

Avec innerHTML, le navigateur lit le texte comme du HTML. Les balises tapées par le visiteur deviennent de vraies balises.

Ici, le visiteur a mis du gras et un titre. Une personne mal intentionnée pourrait mettre un faux formulaire pour voler des mots de passe.

On appelle cela une injection.

Contrôle rapide : l’injection

À toi de jouer

Contrôle rapide : l’injection

3 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

À toi : le même mur, réparé

Code: web
<p>Laisse un commentaire :</p>
<input id="commentaire" value="Super match !" size="30">
<button id="envoyer">Publier</button>
<div id="mur"></div>

Danger, exemple, réponse

DangerExempleRéponse
Un texte devient du codeUn commentaire avec des balisesAfficher avec textContent
Une vérification contournéeUn âge de 500 ans envoyé sans passer par la pageRevérifier côté serveur
Un secret visibleUn mot de passe écrit dans le code JavaScriptNe jamais le mettre dans la page
Une information dans l’adresseUn mot de passe envoyé avec GETUtiliser POST avec https

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

La règle d’or

Attention

Tout ce qui vient du visiteur peut être faux, trop long ou piégé. La page peut aider, mais seul le serveur décide. Et un secret ne se met jamais dans une page.

La leçon continue

4 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.