Utilité de "Addslashes" en PHP
Fermé
jeremieca
Messages postés
178
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
16 mars 2015
-
26 mars 2010 à 22:43
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 - 26 mars 2010 à 22:50
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 - 26 mars 2010 à 22:50
1 réponse
jeremieca
Messages postés
178
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
16 mars 2015
28
26 mars 2010 à 22:50
26 mars 2010 à 22:50
Désolé mais je viens de trouver ma réponse sur php.net :
Un exemple d'utilisation d'addslashes() est lorsque vous entrez des données dans une base de données. Par exemple, pour insérer le nom O'reilly dans la base, vous aurez besoin de le protéger. Il est fortement recommandé d'utiliser les fonctions de protection spécifiques à chaque base de données (telle que mysqli_real_escape_string() pour MySQL et pg_escape_string() pour PostGreSQL), mais si la base de données que vous utilisez n'a pas de fonction spécifique, et que cette base utilise \ pour protéger les caractères spéciaux, vous pouvez utiliser cette fonction. Grâce à elle, \ sera ajouté. Si la directive PHP magic_quotes_sybase est activée, ' sera protégé par un autre '.
La directive PHP magic_quotes_gpc est à on par défaut, et elle appelle addslashes() sur toutes les données GET, POST et COOKIE. N'utilisez pas addslashes() sur des données déjà protégées avec magic_quotes_gpc sinon vous doublerez les protections. La fonction get_magic_quotes_gpc() est utile pour vérifier ce paramètre.
En clair, pour une base Mysql, comme dit dans le message précédent c'est inutile et dans le code en général, inutile aussi sauf si les magic quotes sont désactivées. Addslashes est cependant appelé en fond quand les magiquotes sont activés afin de protéger les données.
A plus et n'hésitez pas à donner d'autres applications possible :p.
Un exemple d'utilisation d'addslashes() est lorsque vous entrez des données dans une base de données. Par exemple, pour insérer le nom O'reilly dans la base, vous aurez besoin de le protéger. Il est fortement recommandé d'utiliser les fonctions de protection spécifiques à chaque base de données (telle que mysqli_real_escape_string() pour MySQL et pg_escape_string() pour PostGreSQL), mais si la base de données que vous utilisez n'a pas de fonction spécifique, et que cette base utilise \ pour protéger les caractères spéciaux, vous pouvez utiliser cette fonction. Grâce à elle, \ sera ajouté. Si la directive PHP magic_quotes_sybase est activée, ' sera protégé par un autre '.
La directive PHP magic_quotes_gpc est à on par défaut, et elle appelle addslashes() sur toutes les données GET, POST et COOKIE. N'utilisez pas addslashes() sur des données déjà protégées avec magic_quotes_gpc sinon vous doublerez les protections. La fonction get_magic_quotes_gpc() est utile pour vérifier ce paramètre.
En clair, pour une base Mysql, comme dit dans le message précédent c'est inutile et dans le code en général, inutile aussi sauf si les magic quotes sont désactivées. Addslashes est cependant appelé en fond quand les magiquotes sont activés afin de protéger les données.
A plus et n'hésitez pas à donner d'autres applications possible :p.