Laravel 安全地输出带换行文本的方法

问题描述 投票:0回答:1

当我插入数据时,我不会以任何方式清理文本,我只是做一些小事情,比如将第一个字母大写,并在连续两个以上时去除换行符。

所以如果我现在使用以下方式输出文本:

{{ $text }}

我很安全,因为这样 Laravel 会删除任何危险的数据/标签以防止 xss。但现在的问题是我的文本中没有任何换行符。

所以现在我尝试了这个:

{!! nl2br(e($text))!!}

这似乎有效,我保留换行符,并且诸如

<script>alert('xss');</script>
之类的内容作为普通文本输出。但这是在 Laravel 中安全输出文本同时保持换行的正确方法吗?

php laravel xss
1个回答
0
投票

是的,这是实现这一目标的正确方法。

{{ $text }}
相当于
{!! e($text) !!}

© www.soinside.com 2019 - 2024. All rights reserved.