Je suis confondu avec le codage de caractères. Je comprends que les gens font les choses différemment, mais beaucoup suggèrent que vous deviez stocker votre entrée dans la base de données telle qu'elle est entrée, puis la traiter lorsque vous la lisez en fonction de ce que vous envisagez de faire avec. Cela a du sens pour moi.Confondu avec le codage html
Ainsi, si un utilisateur entre une apostrophe, guillemet ou esperluette, moins, plus de signe, seront écrits dans ma base de données ' "& <> respectivement.
Maintenant, la lecture des données avec php, je cours le texte à travers HTMLPurify pour attraper tous les problèmes d'injection
Dois-je aussi htmlencode? Si je ne le fais pas, tout semble OK (dans Chrome et Firefox) mais je ne suis pas sûr que ce soit correct et va-t-il s'afficher correctement dans d'autres navigateurs?
Si j'utilise htmlentities avec E NT_QUOTES, et htmlspecialchars, je commence à obtenir les codes à venir pour ces caractères, qui je crois est ce que je devrais voir en regardant la source de la page, mais pas sur la page que l'utilisateur voit. Le problème est, sans faire le codage, je vois ce que je veux voir, mais j'ai ce petit problème dans mon esprit, que je ne le fais pas correctement!
Cela va probablement être marqué comme hors sujet car il est entièrement basé sur l'opinion. Vous pouvez reformuler une question plus spécifique avec des exemples de code. – Difster
Stockez l'entrée utilisateur "telle quelle", mais nettoyez-la avant de la sortir (si vous voulez empêcher XSS, par exemple). Vous n'avez rien à encoder en HTML. – Terry
Placez les données dans la base de données en tant que données réelles, c'est-à-dire si elles sont via HTML, désactivez-les. Ensuite, d'autres applications peuvent l'utiliser. –