Manuel PHP
Précédent |  | Suivant

# Chapitre 31. Guillemets magiques

Les guillemets magiques (littéralement, les `Magic Quotes`) est un processus qui protège automagiquement les données introduites dans un script PHP. Il est recommandé de développer les applications sans l'aide des guillemets magiques, et de protéger manuellement les données.

# Qu'est-ce que les guillemets magiques?

Lorsque cette directive est active, les guillemets simples `'`, les guillemets doubles `"`, les anti-slashs `\` et les caractères null `NULL` sont protégés automatiquement avec un anti-slash. C'est le même résultat que celui de la fonction addslashes().

Il y a trois directives de guillemets magiques différentes :

- magic_quotes_gpc

  Affecte les données issues des requêtes HTTP (GET, POST, et COOKIE). Ne peut pas être configurée durant l'exécution, et vaut par défaut on en PHP.

  Voir aussi get_magic_quotes_gpc().

- magic_quotes_runtime

  Si activée, la plupart des fonctions qui retournent des données externes, y compris issues d'une base de données ou d'un fichier texte, verront les données protégées par des anti-slash. Cette directive peut être modifiée durant l'exécution, et vaut par défaut off en PHP

  Voir aussi set_magic_quotes_runtime() et get_magic_quotes_runtime().

- magic_quotes_sybase

  Si cette configuration est active, les guillemets simples sont protégés avec un autre guillemets simples, et non pas un anti-slash. Lorsqu'elle est active, cette directive remplace entièrement magic_quotes_gpc. Si vous activez ces deux directives, alors seuls les guillemets simples seront protégés, avec `''`. Les guillemets doubles, les anti-slash et les caractères null seront laissés intacts.

  Voir aussi ini_get() pour lire la valeur de la directive.

Précédent | Sommaire | Suivant
Données transmises par les internautes | Niveau supérieur | Pourquoi utiliser les guillemets magiques?