Sont-ils les mêmes que XML, peut-être plus l’espace (& nbsp;)?
J'ai trouvé des listes énormes de caractères d'échappement HTML, mais je ne pense pas qu'il faille les échapper. Je veux savoir ce qui doit être échappé.
Sont-ils les mêmes que XML, peut-être plus l’espace (& nbsp;)?
J'ai trouvé des listes énormes de caractères d'échappement HTML, mais je ne pense pas qu'il faille les échapper. Je veux savoir ce qui doit être échappé.
Si votre document est au format unicode, vous avez seulement besoin d'échapper les mêmes que pour XML dans votre texte [spec] [doc]:
& becomes &
< becomes <
> becomes >
Dans les valeurs d'attribut, vous devez également échapper à la citation de caractères [spec]:
" becomes "
' becomes '
Si votre document est en ASCII ou à un autre non-codage Unicode et que vous utilisez des caractères qui ne sont pas pris en charge, vous aurez besoin de leur échapper. Sinon, vous êtes bien1.
D'habitude vous ne voulez pas d'échapper à des espaces comme
.
n'est pas un espace normal, c'est un espace insécable [wiki]. Vous pouvez les utiliser pour insérer un espace supplémentaire, sans qu'il soit automatiquement effondré, mais vous n'aurez pas besoin de le faire très souvent.
1 - Vous êtes bien, aussi longtemps que vous êtes de l'insertion de l'échappé texte quelque part qu'il fait sens pour insérer du texte ordinaire (c'est à dire pas à l'intérieur d'un <style>
ou <script>
balise, et non pas à l'intérieur de la valeur d'un attribut). Sinon, vous devez prendre d'autres précautions comme mentionné dans daxelrod réponse et décrit ici par l'Open Web Application Security Project.
Il dépend du contexte. Certains les contextes possibles dans le HTML:
Voir OWASP du Cross Site Scripting de Prévention de la Feuille de Triche, surtout le "Pourquoi je ne Peux pas Juste Entité HTML Codent les Données non fiables?" et "XSS des Règles de Préventiondes sections". Cependant, il est préférable de lire l'ensemble du document.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.