15-01-2010, 12:15 PM
Bonjour à tous,
Je me baladais sur le web quand je suis tombé sur un sujet assez interessant qui se trouve ici.
En gros, ça explique que mysql_real_escape_string n'est pas sûr car dans certains cas (en gros, si un SET NAMES n'a pas été utilisé au début de la connexion) on peut néanmoins executer une injection SQL sur une base (si elle utilise un encodage exotique, certes).
A coté de cela, je me suis penché depuis quelques temps sur le principe des requêtes préparées ; et comme elles suppriment tout risque d'injection SQL (et ce sans avoir besoin d'utiliser mysql_real_escape_string ou autre fonction d'échappement) tout en améliorant les performances, et qu'en plus PDO est très simple à utiliser, je me demandais : est-ce qu'il y a encore un intérêt à utiliser les anciennes structures et est-ce que mysql_real_escape_string peut être considéré comme une sécurité ?
Personnellement, et à la vu de ce post, j'aurais tendance à dire que c'est une partie de sécurité, mais que c'est surtout se compliquer la vie pour rien.
Y a-t-il des avantages à l'utiliser quand même, sans passer par PDO ?
Je me baladais sur le web quand je suis tombé sur un sujet assez interessant qui se trouve ici.
En gros, ça explique que mysql_real_escape_string n'est pas sûr car dans certains cas (en gros, si un SET NAMES n'a pas été utilisé au début de la connexion) on peut néanmoins executer une injection SQL sur une base (si elle utilise un encodage exotique, certes).
A coté de cela, je me suis penché depuis quelques temps sur le principe des requêtes préparées ; et comme elles suppriment tout risque d'injection SQL (et ce sans avoir besoin d'utiliser mysql_real_escape_string ou autre fonction d'échappement) tout en améliorant les performances, et qu'en plus PDO est très simple à utiliser, je me demandais : est-ce qu'il y a encore un intérêt à utiliser les anciennes structures et est-ce que mysql_real_escape_string peut être considéré comme une sécurité ?
Personnellement, et à la vu de ce post, j'aurais tendance à dire que c'est une partie de sécurité, mais que c'est surtout se compliquer la vie pour rien.
Y a-t-il des avantages à l'utiliser quand même, sans passer par PDO ?