h |
Entête |
|---|---|
| Liquid (Microsoft) | |
Syntaxe
| {{ texte | h }} |
Paramètres
| Nom | Description |
|---|---|
| texte | Ce paramètre permet d'indiquer la chaîne de caractères à transformer. Il sera échappé pour l'affichage HTML, c'est-à-dire que les caractères spéciaux comme <, >, &, ou " seront convertis en entités HTML (<, >, &, "). |
Description
Ce filtre permet d'échapper les caractères HTML (équivalent à escape).
Remarques
- Alias fonctionnel du filtre escape : Le filtre h est fonctionnellement équivalent au filtre escape, c'est-à-dire qu'il convertit les caractères spéciaux HTML en entités sécurisées (< devient <, & devient &,...). Il est souvent utilisé comme abréviation pour alléger la syntaxe dans les modèles Liquid.
- Protège contre les injections HTML : L'une de ses utilisations principales est la prévention des failles XSS (cross-site scripting), en empêchant l'injection de code HTML ou JavaScript dans les pages. Ainsi, h garantit que le contenu affiché est traité comme du texte pur, même s'il contient des balises.
- Particulièrement utile pour afficher des données utilisateur : Lorsqu'on affiche des champs saisis par un utilisateur (exemple : commentaires, descriptions, messages), l'usage de h est crucial pour éviter que des balises HTML ne soient interprétées par le navigateur, assurant ainsi l'intégrité de l'interface et la sécurité du portail.
- Facilite l'écriture rapide et lisible : En tant qu'alias plus court que escape, h est apprécié dans les modèles où la concision compte. Cela le rend pratique pour les développeurs souhaitant écrire des expressions plus compactes, sans perdre la fonctionnalité de sécurité HTML.
- Transforme uniquement les caractères problématiques : Le filtre h n'affecte pas la totalité du contenu : il se limite aux caractères ayant une signification particulière en HTML, comme <, >, ", ', et &. Cela permet de conserver le texte lisible tout en le rendant sûr pour l'affichage web.
- Peut être utilisé dans des balises HTML sans risque : Grâce à l'échappement, on peut insérer le résultat d'un {{ variable | h }} à l'intérieur d'attributs HTML (comme alt, title, ou value) sans craindre que le contenu ne casse le balisage, même si des guillemets ou des chevrons sont présents dans la valeur.
- Complément idéal aux boucles ou rendus dynamiques : Quand on parcourt une collection (for, tablerow,...) et qu'on affiche dynamiquement des valeurs, h permet de s'assurer que les données ne perturbent pas le DOM HTML, surtout quand les sources sont variables ou proviennent de champs personnalisables.
- Ne modifie pas la casse ni le contenu textuel : Contrairement à des filtres comme downcase, upcase ou strip_html, le filtre h ne transforme pas le texte en lui-même, mais uniquement la façon dont les caractères spéciaux sont représentés dans le navigateur. C'est donc un filtre non destructif, mais sécurisant.
Dernière mise à jour : Jeudi, le 24 Juillet 2025