Laravel Blade 模板:全局关闭 HTML 实体转义
在 Laravel 中,Blade 模板引擎提供了一种方便的方式来创建视图。默认情况下,Blade 会自动对所有传入模板的数据进行 HTML 实体转义,以防止 XSS 攻击,这是通过双花括号 {{ }}
自动完成的。
如果你想要在整个应用中禁用这个自动转义特性,可以在你的 Blade 模板中使用以下代码:
{{-- 在模板文件的任何位置关闭全局 HTML 实体转义 --}}
@php
Blade::withoutDoubleEncoding();
@endphp
这段代码应该放在 Blade 模板文件的顶部,紧接在 @extends
或 @section
指令之后。这样做可以确保在模板的其余部分,HTML 实体转义功能被关闭。
请注意,关闭全局 HTML 实体转义会使你的应用暴露于 XSS 攻击,因此请谨慎使用这个功能,并确保你的数据是安全的、已经进行了适当的清洗和转义。通常,你应该只在完全信任的数据上使用这个特性,比如你自己的后台管理界面。
评论已关闭