protéger contre les XSS tout en concervant les html special char? - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : protéger contre les XSS tout en concervant les html special char? (/showthread.php?tid=94) |
protéger contre les XSS tout en concervant les html special char? - Argorate - 03-05-2014 bonjour, j'aimerais savoir comment feriez-vous pour appliquez le htmlspecialchars($texte) uniquement sur des caractères qui ne sont pas eux même des spécial char. Exemple: $texte = '€ & du texte'; j'aimerais avoir en sortie: € & du texte au lieu de quoi j'obtiens pour l'instant: € & du texte. Une idée pour régler ce conflit? thx. RE: protéger contre les XSS tout en concervant les html special char? - Sephi-Chan - 03-05-2014 Tu n'as qu'à décoder les entités du contenu à afficher (pour le normaliser en un truc propre) puis repasser un coup dessus. Pour le XSS ce sont les balises HTML que tu dois éviter, les entités importent peu. RE: protéger contre les XSS tout en concervant les html special char? - Ekilio - 03-05-2014 Bonjour, Code PHP :
Comme ça ? Edit : trop lent, c'est ce que Sephi-Chan proposait ^^' RE: protéger contre les XSS tout en concervant les html special char? - julp - 03-05-2014 Euh, ce n'est pas à ça que sert le 4e paramètre de htmlspecialchars ? RE: protéger contre les XSS tout en concervant les html special char? - Xenos - 03-05-2014 Julp a parfaitement raison Snippet
Résultat: Résultat a écrit :array (size=3) @Sephi: Si l'endroit où la donnée utilisateur est mise est un attribut, l'échappement des caractères spéciaux est important Exemple:
Peut finir en:
Avec l'entrée suivante pour $texte: foo" onmousein="java$criptdocument.cookie); L'OWASP fournit une cheat sheet sur XSS (en) pour savoir où mettre les données utilisateurs, où ne pas les mettre et comment les échapper. RE: protéger contre les XSS tout en concervant les html special char? - Argorate - 03-05-2014 (03-05-2014, 08:11 AM)Ekilio a écrit : Bonjour, htmlspecialchars(html_entity_decode('test € & test')) // => test € & test => marche pas^^ Sinon julp, Xenos en effet... super intuitif d'ailleurs Citation :htmlspecialchars($texte, ENT_QUOTES | ENT_HTML40, 'UTF-8', false)^^ merci RE: protéger contre les XSS tout en concervant les html special char? - Xenos - 04-05-2014 je pense que tu auras corrigé, mais au cas où quelqu'un passe sur le sujet sans l'envie de tout lire: ENT_HTML401 (il manque un 1).
RE: protéger contre les XSS tout en concervant les html special char? - Argorate - 04-05-2014 mauvais copier coller dsl |