Pourquoi mes variables AJAX POST sont-elles échappées sur le serveur de production mais pas sur le serveur local ?

Barbara Streisand
Libérer: 2024-10-26 13:32:03
original
513 Les gens l'ont consulté

Why are My AJAX POST Variables Escaped on the Production Server But Not on the Local Server?

Pourquoi les variables $_POST s'échappent-elles en PHP ?

Problème :

En PHP, les variables $_POST reçues de Les requêtes AJAX POST sont échappées sur un serveur de production alors qu'elles restent intactes sur un serveur local. Le serveur local exécute PHP 5.3.1 sous Windows, tandis que le serveur de production exécute PHP 5.2.12 sous Linux.

Raison :

L'écart entre les deux serveurs est probablement en raison de l'utilisation de guillemets magiques sur le serveur de production.

Citations magiques :

Les guillemets magiques sont une fonctionnalité obsolète de PHP qui échappe automatiquement certains caractères dans $_GET , $_POST et $_COOKIE pour vous protéger contre l'injection SQL et d'autres attaques. Les caractères d'échappement incluent :

  • Guillemets simples (')
  • Guillemets doubles (")
  • Barres obliques inverses ()
  • Caractère nul (NUL)

Solution :

Pour résoudre le problème et garantir un comportement cohérent sur les deux serveurs, vous pouvez désactiver les guillemets magiques sur le serveur de production. Cela peut être fait soit. globalement dans php.ini ou par script en utilisant set_magic_quotes_runtime().

Si la désactivation des guillemets magiques n'est pas possible, vous pouvez supprimer manuellement les barres obliques à l'aide de la fonction stripslashes() sur toutes les données POST que vous récupérez :

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

En désactivant ou en gérant les guillemets magiques de manière appropriée, vous pouvez vous assurer que les variables $_POST ne sont pas échappées sur le serveur de production, permettant ainsi aux requêtes AJAX POST de fonctionner correctement.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!