在laravel文档中,他们使用{{ }}
但不使用{!! !!}
来表示Blade语句。
但是有些人说他们更喜欢!!
而不是{{
。
使用!!
的原因是什么?
答案 0 :(得分:3)
{{ Escaped variable }}
{!! Unescaped variable !!}
的引用
默认情况下,会自动发送Blade
{{ }}
语句 PHP的htmlentities
功能可以防止XSS攻击。如果你不想要 要转义的数据,您可以使用以下语法:
Hello, {!! $name !!}
答案 1 :(得分:2)
{{ }}
将逃避所有特殊字符以防止xss攻击,同时{!! !!}
将为您提供原始结果。
{{ "<script>alert('hi');</script>" }}
== <script>alert('hi');</script>
{!! "<script>alert('hi');</script>" !!}
== <script>alert('hi');</script>
答案 2 :(得分:1)
请阅读docs
默认情况下,Blade {{}}语句会自动通过PHP的htmlentities函数发送,以防止XSS攻击。如果您不希望转义数据,可以使用以下语法:
Hello, {!! $name !!}.
虽然在使用后者时要格外小心。