Citation Envoyé par Thes32 Voir le message
J'ai vu que sur le web beaucoup des gens ont optés pour mysql_escape_string, par contre je ne suis pas convaincu des arguments présentés. ça apporte quoi réellement sur la sécurité ? Je ne vois pas trop non plus l'apport sur le jeu des caractères j'ai bien mes données sauvées via addslashes en utf-8 par exemple.
Security Fix: An SQL-injection security hole has been found in multi-byte encoding processing. The bug was in the server, incorrectly parsing the string escaped with the mysql_real_escape_string() C API function.

This vulnerability was discovered and reported by Josh Berkus <josh@postgresql.org> and Tom Lane <tgl@sss.pgh.pa.us> as part of the inter-project security collaboration of the OSDB consortium. For more information about SQL injection, please see the following text.

Discussion. An SQL injection security hole has been found in multi-byte encoding processing. An SQL injection security hole can include a situation whereby when a user supplied data to be inserted into a database, the user might inject SQL statements into the data that the server will execute. With regards to this vulnerability, when character set-unaware escaping is used (for example, addslashes() in PHP), it is possible to bypass the escaping in some multi-byte character sets (for example, SJIS, BIG5 and GBK). As a result, a function such as addslashes() is not able to prevent SQL-injection attacks. It is impossible to fix this on the server side. The best solution is for applications to use character set-aware escaping offered by a function such mysql_real_escape_string().
(source : annonces des versions 5.0.22 et 5.1.11)

D'ailleurs, la version 5.0.1 de MySQL a vu l'introduction du mode d'échappement NO_BACKSLASH_ESCAPES (apostrophes doublées, le backslash perdant son caractère spécial d'échappement) que seul mysql_real_escape_string ne peut réellement honorer.

(pour rappel, mysql_escape_string est similaire à addslashes : elle ne dépend pas de la connexion donc de ses "paramètres", ce qui lui vaut, à juste titre, cette dépréciation)

Citation Envoyé par Thes32 Voir le message
Si toutes les données entrantes doivent être insérées dans la bdd je ne vois aucun inconvénient (voir le contexte de sa 2de question)
En ce cas ce serait acceptable. Mais, ça reste, selon moi, une mauvaise pratique et surtout une habitude à ne surtout pas prendre.