Maison > développement back-end > tutoriel php > Pourquoi mes variables $_POST s'échappent-elles sur un serveur mais pas sur un autre ?

Pourquoi mes variables $_POST s'échappent-elles sur un serveur mais pas sur un autre ?

DDD
Libérer: 2024-10-27 02:30:30
original
919 Les gens l'ont consulté

Why Are My $_POST Variables Escaping on One Server But Not Another?

Pourquoi les variables $_POST s'échappent-elles sur un serveur mais pas sur un autre ?

Lorsque vous traitez des requêtes AJAX POST, il est déroutant de rencontrer un échappement de variables $_POST sur un serveur mais pas l'autre. Examinons la cause et proposons une solution.

Le problème est dû aux guillemets magiques, qui sont activés sur le serveur Linux mais pas sur le serveur Windows. Les guillemets magiques échappent automatiquement à certains caractères lors des saisies utilisateur, notamment les guillemets simples et doubles, les barres obliques inverses et les valeurs nulles.

Pour résoudre cet écart, il est recommandé de désactiver les guillemets magiques. Cependant, il est important de noter que les guillemets magiques seront supprimés à partir de PHP 6. En attendant, vous pouvez les désactiver au moment de l'exécution, bien que cette approche désactive uniquement les caractères d'échappement pour Sybase (UnixODBC).

Dans les cas où la désactivation des guillemets magiques n'est pas réalisable, une solution de contournement consiste à vérifier si les guillemets magiques sont activé et appliquez stripslashes() au contenu POST :

<code class="php">if (get_magic_quotes_gpc()) {
 $my_post_var = stripslashes($_POST["my_post_var"]);
}</code>
Copier après la connexion

En suivant ces étapes, vous pouvez vous assurer que les variables $_POST sont traitées de manière cohérente sur différents serveurs, quels que soient les paramètres de citation magique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal