Échappement/Déséchappement de Chaîne
Un outil pour échapper et désechapper les caractères spéciaux dans les chaînes pour divers formats. Essentiel pour le traitement des données, le développement d'API et le travail frontend!
Examples:
Formats Pris en Charge
📝 JSON
Échappe les caractères spéciaux pour le format JSON.
Échappement:
- Nouvelle ligne →
\n - Tabulation →
\t - Guillemets →
\" - Barre oblique inverse →
\\
Cas d'usage:
- Requête/réponse API
- Fichiers de configuration
- Stockage de données
🌐 HTML
Échappe les caractères spéciaux HTML pour prévenir les attaques XSS.
Échappement:
<→<>→>&→&"→"'→'
Cas d'usage:
- Affichage d'entrée utilisateur
- Prévention XSS
- Génération HTML
🔗 URL
Encode les caractères spéciaux pour une transmission URL sécurisée.
Échappement:
- Espace →
%20 - Caractères spéciaux → Encodage en pourcentage
- Caractères réservés → Encodés
Cas d'usage:
- Paramètres de requête
- Génération d'URL
- Appels d'endpoint API
💻 JavaScript
Échappe les caractères spéciaux pour les chaînes JavaScript.
Échappement:
- Nouvelle ligne →
\n - Guillemets →
\'ou\" - Barre oblique inverse →
\\ - Unicode →
\uXXXX
Cas d'usage:
- Génération de script dynamique
- Traitement de littéraux de modèle
- Génération de code
📄 XML
Échappe les caractères spéciaux pour le format XML/HTML.
Échappement:
<→<>→>&→&"→"'→'
Cas d'usage:
- Génération de documents XML
- API SOAP
- Flux RSS/Atom
Exemples Pratiques
Affichage d'Entrée Utilisateur
// Prévenir XSS
const userInput = '<script>alert("XSS")</script>';
const escaped = escapeHTML(userInput);
// Résultat: <script>alert("XSS")</script>
document.getElementById('output').textContent = escaped;
Requête API
// Échappement JSON
const data = {
message: 'Bonjour\nMonde\t!'
};
const jsonString = JSON.stringify(data);
// Résultat: {"message":"Bonjour\\nMonde\\t!"}
Paramètres de Requête URL
// Encodage URL
const searchQuery = 'recherche test';
const encodedQuery = encodeURIComponent(searchQuery);
// Résultat: recherche%20test
const url = `https://api.example.com/search?q=${encodedQuery}`;
Génération de Code Dynamique
// Échappement JavaScript
const userMessage = "C'est un \"super\" jour!";
const code = `console.log('${userMessage.replace(/'/g, "\\'")}');`;
// Résultat: console.log('C\'est un \"super\" jour!');
Conseils d'Utilisation
1. Sélection du Format
- JSON: Pour la communication API ou le stockage de données
- HTML: Pour afficher du contenu sur des pages web
- URL: Pour les paramètres de requête ou les segments de chemin
- JavaScript: Pour générer du code dynamiquement
- XML: Pour les documents XML ou les flux RSS
2. Quand l'Échappement est Nécessaire
- ✅ Affichage d'entrée utilisateur
- ✅ Transmission de données API
- ✅ Génération de requête de base de données
- ✅ Passage de paramètres URL
- ✅ Génération de code dynamique
3. Quand le Désechappement est Nécessaire
- ✅ Traitement des données API reçues
- ✅ Analyse des paramètres de requête
- ✅ Restauration des données stockées
- ✅ Traitement des données encodées en URL
Considérations de Sécurité
Prévention XSS
Toujours échapper lors de l'affichage d'entrée utilisateur:
// ❌ Dangereux
element.innerHTML = userInput;
// ✅ Sûr
element.textContent = userInput;
// ou
element.innerHTML = escapeHTML(userInput);
Prévention d'Injection SQL
Utiliser des requêtes paramétrées au lieu d'échapper:
// ❌ Dangereux
const query = `SELECT * FROM users WHERE name = '${userInput}'`;
// ✅ Sûr
const query = 'SELECT * FROM users WHERE name = ?';
db.execute(query, [userInput]);
Notes
- Différents formats nécessitent différentes méthodes d'échappement
- Échappement ≠ Encodage (concepts différents)
- La validation côté serveur est également nécessaire
- Attention au double échappement/désechappement
- Utiliser les fonctions intégrées pour chaque langue
Outils Connexes
- JSON Formatter - Formatage JSON
- URL Encoder - Encodage URL
- Base64 Encoder - Encodage Base64
- Text Diff - Comparaison de texte