Maison > développement back-end > tutoriel php > Comment puis-je empêcher « json_encode() » d'échapper aux barres obliques en PHP ?

Comment puis-je empêcher « json_encode() » d'échapper aux barres obliques en PHP ?

Susan Sarandon
Libérer: 2024-11-27 12:24:14
original
797 Les gens l'ont consulté

How Can I Prevent `json_encode()` From Escaping Forward Slashes in PHP?

json_encode() Échapper aux barres obliques

Lors du décodage du JSON à partir d'Instagram, il est courant de rencontrer des barres obliques échappées lors du réencodage et de la mise en cache les données. Cela est dû au fait que json_encode() échappe automatiquement les barres obliques par défaut.

Désactivation de l'échappement des barres obliques

Heureusement, PHP 5.4 propose une solution pour désactiver ce comportement d'échappement en utilisant le Indicateur JSON_UNESCAPED_SLASHES. Voici comment l'utiliser :

json_encode($data, JSON_UNESCAPED_SLASHES);
Copier après la connexion

En définissant cet indicateur, json_encode() conservera les barres obliques sans échappement.

Attention au contexte Web/HTML

Il est crucial de noter que la désactivation de la barre oblique dans un contexte Web/HTML (par exemple, transmettre des données JSON à un navigateur) peut introduire des failles de sécurité. Les barres obliques avec échappement sont essentielles pour empêcher les attaques de script intersite (XSS). Par conséquent, l'utilisation de JSON_UNESCAPED_SLASHES doit être soigneusement envisagée dans de tels scénarios.

Pour les versions PHP antérieures à 5.4

Si vous utilisez des versions PHP antérieures à 5.4, vous peut modifier des fonctions existantes comme json_encode_no_backslashes() (disponible sur https://snippets.dzone.com/posts/show/7487) pour répondre à vos besoins.

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