【发布时间】:2017-02-26 10:32:20
【问题描述】:
我想知道在 Laravel 中何时使用 {{}} 以及何时使用 {!!!!}?我知道这是一种防止 XSS 的方法,但我看到所有开发人员都使用 {{}} 来表示图像地址、样式表地址、脚本地址等,而我知道 XSS 是可以由恶意用户完成的INPUT 不是静态的,由开发人员设置。我说的对吗?
谢谢
【问题讨论】:
标签: php laravel xss blade curly-braces
我想知道在 Laravel 中何时使用 {{}} 以及何时使用 {!!!!}?我知道这是一种防止 XSS 的方法,但我看到所有开发人员都使用 {{}} 来表示图像地址、样式表地址、脚本地址等,而我知道 XSS 是可以由恶意用户完成的INPUT 不是静态的,由开发人员设置。我说的对吗?
谢谢
【问题讨论】:
标签: php laravel xss blade curly-braces
来自Laravel docs:
默认情况下,Blade {{ }} 语句会通过 PHP 的
htmlentities函数自动发送,以防止 XSS 攻击。如果您不希望您的数据被转义,您可以使用以下语法:
Hello, {!! $name !!}.
【讨论】:
我总是使用这个拇指规则:除非你需要输出渲染的 HTML,否则使用 {{ }}。否则,使用 {!! !!}
【讨论】:
你完全正确。如果您想转义用户输入数据,则使用 {{}},它就像 htmlentities 函数,如果您不想转义数据,则可以使用 {!!!!}。
【讨论】: