【问题标题】:When to use double braces in Laravel?什么时候在 Laravel 中使用双括号?
【发布时间】:2017-02-26 10:32:20
【问题描述】:

我想知道在 Laravel 中何时使用 {{}} 以及何时使用 {!!!!}?我知道这是一种防止 XSS 的方法,但我看到所有开发人员都使用 {{}} 来表示图像地址、样式表地址、脚本地址等,而我知道 XSS 是可以由恶意用户完成的INPUT 不是静态的,由开发人员设置。我说的对吗?

谢谢

【问题讨论】:

    标签: php laravel xss blade curly-braces


    【解决方案1】:

    来自Laravel docs

    默认情况下,Blade {{ }} 语句会通过 PHP 的 htmlentities 函数自动发送,以防止 XSS 攻击。如果您不希望您的数据被转义,您可以使用以下语法:

    Hello, {!! $name !!}.
    

    【讨论】:

      【解决方案2】:

      我总是使用这个拇指规则:除非你需要输出渲染的 HTML,否则使用 {{ }}。否则,使用 {!! !!}

      【讨论】:

        【解决方案3】:

        你完全正确。如果您想转义用户输入数据,则使用 {{}},它就像 htmlentities 函数,如果您不想转义数据,则可以使用 {!!!!}。

        【讨论】:

        • 那么为什么我看到的其他开发人员在所有部分都只使用 {{}} 而没有注意它是什么?
        猜你喜欢
        • 2018-10-13
        • 2022-11-10
        • 2013-08-06
        • 2020-01-09
        相关资源
        最近更新 更多