par
Frédéric Derambert » 23 juil. 2006, 12:05
Bonjour,
Je m'intéresse ces jours-ci aux "guillemets magiques" ou magic-quotes, mais je trouve la documentation de Php confuse, et j'ai besoin de votre aide.
Ainsi, le manuel Php, à l'adresse
http://fr.php.net/manual/fr/function.my ... string.php, indique :
Exemple 3. Meilleure pratique. L'utilisation de la fonction mysql_real_escape_string() sur chaque variable évite les injections SQL. Cet exemple démontre la méthode la plus propre pour envoyer une requête à la base, indépendamment de votre configuration des guillemets magiques.
Or, dans le code qui suit l'exemple, mysql_real_escape_string n'est pas utilisé, au profit de quote_smart ! Que faut-il en comprendre ?
De même, le manuel Php, à l'adresse
http://www.php.net/manual/fr/security.m ... abling.php, indique :
Afin d'écrire du code portable sur tous les environnement, et où vous ne pourrez pas forcément modifier la configuration du serveur, voici un exemple de désactivation de magic_quotes_gpc à l'exécution. Cette méthode est inefficace, et il est recommandé d'utiliser les autres solutions si possible.
Exemple 31-2. Désactivation des guillemets magiques à l'exécution...
Je ne comprends pas pourquoi citer un exemple dont la méthode est inefficace... Pourriez-vous m'aider à y voir clair ?
A propos de la désactivation des magic-quotes via un script (et pas dans le fichier ini.php), peut-on envisager de placer le script dans un fichier externe à la racine du site et de l'inclure dans un fichier ?
Faut-il ici préférer le script de la documentation ou celui du tutorial de Damien, accessible à
http://www.phpfrance.com/tutoriaux/inde ... gic-quotes ?
Merci beaucoup.
Bien à vous,
Frédéric
Bonjour,
Je m'intéresse ces jours-ci aux "guillemets magiques" ou magic-quotes, mais je trouve la documentation de Php confuse, et j'ai besoin de votre aide.
Ainsi, le manuel Php, à l'adresse [url]http://fr.php.net/manual/fr/function.mysql-real-escape-string.php[/url], indique :
[quote]Exemple 3. Meilleure pratique. L'utilisation de la fonction mysql_real_escape_string() sur chaque variable évite les injections SQL. Cet exemple démontre la méthode la plus propre pour envoyer une requête à la base, indépendamment de votre configuration des guillemets magiques.[/quote]
Or, dans le code qui suit l'exemple, mysql_real_escape_string n'est pas utilisé, au profit de quote_smart ! Que faut-il en comprendre ?
De même, le manuel Php, à l'adresse [url]http://www.php.net/manual/fr/security.magicquotes.disabling.php[/url], indique :
[quote]Afin d'écrire du code portable sur tous les environnement, et où vous ne pourrez pas forcément modifier la configuration du serveur, voici un exemple de désactivation de magic_quotes_gpc à l'exécution. Cette méthode est inefficace, et il est recommandé d'utiliser les autres solutions si possible.
Exemple 31-2. Désactivation des guillemets magiques à l'exécution...[/quote]
Je ne comprends pas pourquoi citer un exemple dont la méthode est inefficace... Pourriez-vous m'aider à y voir clair ?
A propos de la désactivation des magic-quotes via un script (et pas dans le fichier ini.php), peut-on envisager de placer le script dans un fichier externe à la racine du site et de l'inclure dans un fichier ?
Faut-il ici préférer le script de la documentation ou celui du tutorial de Damien, accessible à [url]http://www.phpfrance.com/tutoriaux/index.php/2005/04/17/29-les-magic-quotes[/url] ?
Merci beaucoup.
Bien à vous,
Frédéric