Il existe des menaces distinctes dont vous parlez (probablement) ici :
- Vous devez désinfecter les données insérées dans la base de données pour éviter les les injections SQL .
- Vous devez également faire attention aux données présentées à l'utilisateur, car elles peuvent contenir des scripts malveillants (si elles ont été soumises par d'autres utilisateurs). Voir l'entrée de Wikipedia pour cross-site scripting (alias XSS)
Ce qui est nuisible à votre base de données n'est pas nécessairement nuisible aux utilisateurs (et vice versa). Vous devez prendre soin des deux menaces en conséquence.
Dans votre exemple :
- Utilisez mysqli::real_escape_string () sur les données insérées dans votre base de données (nettoyage)
Vous souhaitez probablement utiliser le purificateur avant l'insertion des données - assurez-vous simplement qu'il est "purifié" au moment où l'utilisateur le reçoit.
Vous devrez peut-être utiliser striplashes
() sur les données extraites de la base de données pour les afficher correctement à l'utilisateur si magic_quotes
sont sur