Merci pour le retour.
pourquoi fais-tu un addcslashes en plus du mysql_real_escape ?
J'utilise très classiquement mysql_real_escape_string() pour éviter l'injection. Par ailleurs, j'ai lu ceci :
Contrairement à ce qu'on pourrait penser, il est toujours possible de réaliser des injections SQL particulières qui visent notamment à surcharger votre serveur en alourdissant votre requête. Ce type d'injection utilise les caractères % et _.
D'où l'utilisation de addcslashes() après mysql_real_escape_string()
________________________________________________
attention, ton filtre n'est pas le même lorsque tu fais de l'affichage html ou de l'insertion dans une BD
Dans le code que j'ai soumis, il y a une ligne commentée :
function securite_bdd($string) { // HTML => BDD
Ceci pour dire que cette fonction concerne l'insertion en BDD.
Concernant l'affichage (voir la ligne commentée ci-dessous), j'utilise la fonction suivante, censée éviter les attaques XSS :
1 2 3 4
| function aff_bdd($string) { // BDD => HTML
$string = htmlentities($string, ENT_QUOTES, 'UTF-8');
return $string;
} |
Note : tout est en UTF-8, y-compris l'encodage des fichiers (UTF-8 sans BOM)
________________________________________________
Concernant les PDO, je code (encore) en PHP4, donc je fais sans ; désolé pour cette "préhistoricité" !
________________________________________________
Concernant l'objet initial de mon post, à savoir le traitement automatique de tous les $_POST[], manticore trouve que l'idée est bonne ; je vais donc l'utiliser. Cela dit, je m'interroge sur le fait de n'avoir jamais vu ça sur des extraits de code relatifs à la sécurité.
Je remercie par avance toutes celles et ceux qui donneront leur avis sur les précisions que je viens d'apporter.
Partager