Quels sont les caractères requis et suffisants pour l'échappement du contenu généré par l'utilisateur avant la sortie? (Autrement dit: quels sont les personnages les développeurs web devraient échapper lorsque le texte sortie fourni précédemment à partir d'une source non fiable, anonyme?)Configuration minimale requise pour l'échappement de la sortie HTML
Répondre
Lorsque écho à une page, vous devez encoder
- '& '(esperluette) devient'
&
'- '"'(guillemet) devient '
"
'- ''' (guillemet simple) devient '
'
'- '<' (moins) devient '
<
'- '>' (supérieur) devient '
>
'
De PHP de htmlspecialchars()
docs.
Notez que le context est également important.
Vous devrez également prendre en compte le jeu de caractères.
Quelle est la raison et/ou le besoin d'échapper à des citations? – ChrisW
Si le texte est placé dans une balise , où elle est placée dans l'attribut value, placée entre guillemets. – AlexanderMP
@ChrisW J'appelle votre nom ici '
Je pense qu'échapper aux symboles < > & " '
devrait être suffisant pour n'importe quel scénario.
Ces caractères ne sont pas suffisants dans certains scénarios.Imaginez le code suivant: Scape simplement les guillemets ne vous aide pas :) –
oh, oui, bien sûr, j'ai oublié la barre oblique inverse. C'est à ce moment-là :). – AlexanderMP
@PedroLaguna vous m'a presque obtenu là: si vous échapper les guillemets, votre exemple va rendre qui est inoffensif. – cap
Il semble que différentes personnes aient compris la question de différentes manières. Permettez-moi de clarifier: je demande cela pour des raisons de sécurité. – Tom