"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment désactiver les guillemets magiques et gérer les problèmes d'insertion de barre oblique inverse en PHP ?

Comment désactiver les guillemets magiques et gérer les problèmes d'insertion de barre oblique inverse en PHP ?

Publié le 2024-12-21
Parcourir:916

How to Disable Magic Quotes and Handle Backslash Insertion Issues in PHP?

Énigme "Slash Before Every Quote"

Vous avez rencontré un problème particulier dans votre script PHP : chaque fois qu'un formulaire est soumis à lui-même avec une valeur contenant des guillemets doubles, il ajoute une barre oblique inverse avant chacun. Ce comportement est attribué à la fameuse fonctionnalité « guillemets magiques » de PHP.

Les guillemets magiques échappent automatiquement à certains caractères, y compris les guillemets doubles, pour empêcher les injections malveillantes. Bien que cela puisse ressembler à une mesure de sécurité, cela peut également provoquer des problèmes comme celui que vous rencontrez.

Pour résoudre ce problème, intégrez l'extrait de code suivant dans votre script :

if (get_magic_quotes_gpc()) {
    $your_text = stripslashes($your_text);
}

La fonction get_magic_quotes_gpc() vérifie si les guillemets magiques sont activés. Si tel est le cas, la fonction stripslashes() supprime les barres obliques inverses supplémentaires de votre texte.

Risques liés à la désactivation des citations magiques

Vous avez indiqué que vous disposez d'un accès root à votre serveur et envisagent de désactiver les guillemets magiques. Il est important d'être conscient des risques potentiels :

  • Vulnérabilités de sécurité accrues : Si des mesures appropriées de validation et de nettoyage des entrées ne sont pas mises en œuvre, la désactivation des guillemets magiques peut rendre vos scripts plus sensibles aux Injections SQL et autres attaques.
  • Incompatibilité de base de données : Certaines anciennes versions de serveurs de base de données attendent des chaînes d'échappement. Si vous désactivez les guillemets magiques, vous devrez peut-être ajuster votre code de connexion à la base de données en conséquence.

Conclusion

Bien que la désactivation des guillemets magiques puisse résoudre votre problème actuel, il est Il est crucial de mettre en œuvre des pratiques robustes de validation des entrées et d’assainissement pour prévenir les failles de sécurité. Pesez soigneusement les risques potentiels avant de prendre cette décision et assurez-vous que votre code est toujours sécurisé quel que soit le statut des guillemets magiques.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729473257. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3