Données transmises par les internautes
Pourquoi utiliser les guillemets magiques?
Sécurité
PHP Manual

# Guillemets magiques

## Sommaire

- Pourquoi utiliser les guillemets magiques?
- Pourquoi ne pas utiliser les guillemets magiques?
- Désactiver les guillemets magiques

Avertissement

Cette fonctionnalité est OBSOLETE et a été supprimée depuis PHP 6.0.0. Nous vous encourageons vivement à ne pas l'utiliser.

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 antislashs \ et les caractères null NULL sont protégés automatiquement avec un antislash. 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 antislashs. 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 antislash. 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 antislashs et les caractères null seront laissés intacts. Voir aussi ini_get() pour lire la valeur de la directive.

Données transmises par les internautes
Pourquoi utiliser les guillemets magiques?
Sécurité
PHP Manual