Sécurité · Question 8 sur 12

Un visiteur saisit <script>alert(1)</script> comme nom, et le template Fluid l'affiche avec {name}. Que se passe-t-il ?

1 réponse est correcte. Facile

Afficher la solution

Solution

  • C Le texte apparaît visiblement sur la page, car Fluid échappe les chevrons

Explication

Fluid échappe automatiquement les variables comme {name} avec htmlspecialchars() lors de l'affichage : <script> devient &lt;script&gt;, et le navigateur affiche les caractères comme du texte au lieu de les interpréter comme du HTML. Cet échappement automatique est la protection la plus importante contre le cross-site scripting (XSS) dans les templates TYPO3. Il ne s'applique plus si l'on affiche la valeur avec <f:format.raw> ou {name -> f:format.raw()}, ce qu'il ne faut jamais faire avec des saisies utilisateur. Fluid ne supprime pas le contenu et ne lève pas non plus d'erreur ; la valeur est conservée, elle est seulement rendue inoffensive.

Certifications & examens

Quel examen pour la suite ?

Tu peux déjà t’entraîner pour 19 examens, 21 sont soumis au vote. Découvre toutes les certifications avec les infos officielles, vote ou propose ton examen.

Voir toutes les certifications