Sécurisation de formulaire injections sql/xss

Bonjour,

J'ai cherché pour se protéger des injections lors du traitement d'un formulaire mais je ne comprend pas les étapes:

Lorsqu'on envoie sur la bdd on fait un mysql_real_escape_string(); pour éviter les injection sql

et quand on récupère les données et qu'on les affiche, il faut faire un htmlentities(); pour éviter les injections XSS

La question que je me pose est:
Peut-on se protéger des injection XSS dès l'insertion dans la bdd ? Ainsi on éviterait de devoir à chaque affichage utiliser la fonction htmlentities() .

Merci

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut !
    $valeur = htmlspecialchars(addslashes($valeur))
    Et tu insert $valeur modifié dans ta base. ;)

    Ce sont deux exemples de fonctions, juste pour dire que tu peux tout à fait sécurise les variables AVANT l'insertion dans la base. ;)
    Mais des fois, la manoeuvre inverse sera nécessaire à la sortie, ce qui rendra le code aussi lourd que si on sécurisait à la sortie... :P