HTML & Développement / Nettoyage HTML

Nettoyage HTML

v2.2

Code source à nettoyer


Options de nettoyage

Balises autorisées
Exclure les attibuts
Protocoles autorisés

Résultats du nettoyage

Sortie HTML (éditable)

<h3 id="max-input-length">
    <a href="https://symfony.com/doc/current/html_sanitizer.html#max-input-length" target="_blank" rel="noopener noreferrer">
        <strong>Max Input Length</strong>
    </a>
</h3>

<p>
    In order to prevent
    <a href="https://en.wikipedia.org/wiki/Denial-of-service_attack" target="_blank" rel="noopener noreferrer">
        DoS attacks
    </a>,
    by default the HTML sanitizer limits the input length to
    <code>50 000 000</code> characters
    (<code>strlen($input)</code>).
</p>

Aperçu visuel (Rendu HTML)

Max Input Length

In order to prevent DoS attacks , by default the HTML sanitizer limits the input length to 50 000 000 characters (strlen($input)).

Guide d'utilisation

À propos du Nettoyeur HTML

Le nettoyeur HTML est un outil indispensable pour assainir du code importé (par exemple un vieux copier-coller depuis Word ou d'anciens sites obsolètes). Il permet de supprimer les balises dangereuses, de purifier le style CSS en ligne, et de ne conserver que les structures sémantiques strictes afin de garantir la sécurité (prévention XSS) et la robustesse de votre contenu.

Correspondance des options de purification

Éléments autorisés (Allow Elements)

Ces paramètres définissent la liste restreinte (whitelist) des balises autorisées à survivre au filtrage (par exemple : les titres, paragraphes, tableaux, listes etc). Toute balise décochée de cette section sera impitoyablement détruite tout en conservant son contenu texte intact pour éviter la perte d'informations.

Attributs à supprimer (Drop Attributes)

Cochez les attributs que vous souhaitez forcer à disparaître (les classes esthétiques, les identifiants, les inline-styles CSS). Cela s'avère particulièrement utile pour dé-styliser totalement un texte volumineux copié depuis un autre site avant son intégration.

Schémas de liens autorisés

Le bouclier de base contre les attaques injectées de type XSS (Cross Site Scripting). Vous pouvez totalement interdire l'usage de liens ou ressources avec des schémas exotiques et exécutables (comme 'mailto:' ou 'javascript:') en forçant strictement l'usage de liens sûrs tels que 'http:' et 'https:'.

Formatage (Prettify)

Traite et ré-indente proprement votre gros bloc de HTML avec des sauts de ligne réguliers et des tabulations claires qui rendent la lecture du code généré de la section « Sortie HTML » compréhensible pour un œil humain. Idéal pour du maquettage.

Sécurité & Formatage

Nettoyeur HTML (Sanitizer) et Formatteur de code

Importez ou collez n'importe quel code HTML pour le nettoyer en profondeur. Vous contrôlez exactement quelles balises conserver, quels attributs supprimer (comme onclick ou style) et quels protocoles de liens autoriser.

Protection XSS Indentation automatique Filtres sur-mesure

Idéal pour nettoyer du texte issu d'un traitement de texte (Word), assainir le contenu fourni par des utilisateurs avant stockage en base de données, ou simplement ré-indenter un bloc de code difficile à lire.

Interface du nettoyeur HTML

Pourquoi nettoyer (sanitizer) son code HTML ?

Accepter du code HTML provenant de sources externes ou d'utilisateurs est l'un des plus grands risques de sécurité sur le web. Les failles XSS (Cross-Site Scripting) surviennent quand des balises malignes (comme <script>) ou des attributs dangereux (comme onload) sont exécutés par le navigateur.

Notre outil s'appuie sur des composants robustes pour analyser l'arbre DOM de votre texte et retirer chirurgicalement tout ce qui n'a pas été explicitement autorisé (liste blanche). Il offre également une option 'Prettify' pour rendre le code généré parfaitement lisible.

Résumé

Un outil indispensable pour les développeurs web et les intégrateurs souhaitant sécuriser, nettoyer et formater des blocs HTML de façon automatisée.

Filtrage par balises

Conservez uniquement la structure basique (p, br, strong) ou autorisez des balises complexes selon vos besoins.

Purge des attributs

Ciblez et éliminez les attributs inutiles ou dangereux tels que class, style, id, ou les événements JS.

Protocoles sécurisés

Forcez les liens à n'utiliser que des protocoles sûrs (http, https, mailto) en écartant le pseudo-protocole javascript:.

Formatage propre

L'option 'Prettify' indente correctement votre code pour en faciliter la lecture et la maintenance.

Exemple de code HTML avant et après nettoyage

Exemples d'utilisation

Le nettoyage de HTML est souvent la dernière étape avant l'intégration d'un contenu en production.

  • Nettoyage Word : Enlever les milliers de balises et styles inutiles générés lors d'un copier-coller depuis Microsoft Word.
  • Migration de données : Uniformiser les descriptions d'anciens produits en retirant les attributs 'style' pour qu'ils héritent du nouveau CSS.
  • Modération : Vérifier et assainir un article rédigé par un utilisateur avant sa publication en ligne.
  • Debugging : Formater un énorme bloc de HTML minifié pour comprendre sa structure.

Questions fréquentes

Est-ce qu'une balise non sélectionnée est supprimée ?

Oui, le nettoyeur fonctionne en liste blanche. Tout ce qui n'est pas explicitement coché dans la section 'Balises autorisées' sera retiré, tout en conservant (si possible) le texte à l'intérieur.

Le script nettoie-t-il les événements JavaScript ?

Absolument. Les attributs commençant par 'on' (onclick, onmouseover...) ou contenant du JS sont retirés par les règles de sécurité par défaut.

Pourquoi dois-je nettoyer les attributs 'style' ?

Laisser des styles en ligne (inline css) empêche votre site d'être 'responsive' et contredit vos feuilles de style globales. Il est recommandé de les retirer pour un web plus propre.