JSON, HTML, URL et Base64 répondent à des problèmes différents. Une chaîne valide pour une grammaire peut rester cassée ou dangereuse pour une autre, malgré de nombreux caractères d’échappement visibles.

Suivez le parseur destinataire

Utilisez l’échappement JSON seulement lorsque le texte devient une valeur de chaîne JSON. Utilisez les références de caractères pour la syntaxe HTML, le codage pour cent pour les composants URL et Base64 lorsque des octets nécessitent un alphabet textuel. Ces transformations ne sont pas interchangeables : une barre inverse JSON ne protège pas un parseur HTML et le signe pour cent ne remplace pas les règles de guillemets JSON.

Encoder ne crée pas la confiance

L’échappement préserve les données à travers une frontière syntaxique ; il ne décide pas si le texte décodé peut être exécuté, rendu ou placé dans une requête. Séparez données, commandes et modèles, utilisez des API paramétrées pour SQL, des liaisons texte natives pour HTML et le modèle de sécurité de la destination. EscapeJSON rend du texte brut, ne l’insère jamais comme balisage et ne prétend pas valider le payload environnant.

Vérifiez la destination et le nombre de couches

Comparez le résultat aux contrats producteur et destination. L’échappement protège une seule grammaire JSON ; il n’assainit ni HTML, SQL, JavaScript, shell ni un autre analyseur. Décodez une couche vérifiée à la fois, refusez l’Unicode mal formé et conservez un exemple de test connu pour les intégrations importantes.