Mammouth du PHP |
586 Messages
30 sept. 2014, 16:29
Salut,
Je précise que j'utilise PDO et des requêtes préparées, mais ça change rien au problème.
C'est normal puisque ce n'est pas un problème. On peut enregistrer des balises html en base de données sans aucun soucis (par exemple pour les messages de ce forum).
L'important est de bien utiliser htmlentities pour l'affichage afin que les balises html soit remplacées par les entités correspondantes : tu vois <monprenom> mais si tu regarde le code source de la page tu devrais voir <monprenom>
Ainsi tu es protégé contre les failles XSS et tu peux accepter tous les caractères possibles.
htmlentities avant l'insertion en bdd -> mauvaise pratique
htmlentities lors de l'affichage dans un document html -> bonne pratique
Si tu souhaites tout de même interdire certains caractères pour le pseudo, tu peux te tourner vers la fonction filter_var avec le filtre correspondant à tes besoins ou utiliser une expression régulière.
Bonne journée