Maison >développement back-end >tutoriel php >Comment puis-je afficher du HTML en toute sécurité dans le moteur de modèles Blade de Laravel ?

Comment puis-je afficher du HTML en toute sécurité dans le moteur de modèles Blade de Laravel ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-10 08:17:09319parcourir

How Can I Safely Display HTML in Laravel's Blade Templating Engine?

Afficher du HTML en toute sécurité dans Laravel avec Blade

Dans Laravel, l'affichage de code HTML brut peut entraîner des problèmes de sécurité et des résultats inattendus. C'est pourquoi Blade, le moteur de création de modèles par défaut dans Laravel, échappe automatiquement les caractères HTML. Cependant, dans certains scénarios, vous devrez peut-être afficher du HTML brut.

Problème : Lorsque vous utilisez {{ $text }} pour afficher une chaîne contenant du code HTML, Blade échappe la chaîne au lieu de le rendre au format HTML.

Solution : Pour afficher du HTML en toute sécurité avec Blade, utilisez {!! $texte !!}. Cette syntaxe oblige Blade à restituer la chaîne au format HTML brut.

Exemple :

$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>';

Pour afficher le HTML correctement :

{!! $text !!}

ÉCHAPPEMENT DE DONNÉES :

N'oubliez pas qu'en utilisant {!! $text !!} désactive l'échappement HTML, ce qui est essentiel pour se protéger contre les attaques de scripts intersites. Par conséquent, assurez-vous toujours que tout code HTML que vous affichez via {!! $text !!}, telles que les données extraites des requêtes de base de données ou des entrées de l'utilisateur, sont nettoyées et validées pour des raisons de sécurité.

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!

Déclaration:
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