Laravel中有什么方法可以显示HTML并防止XSS攻击?

时间:2019-08-08 07:50:04

标签: php laravel laravel-5

我想显示用户从前端输入的HTML,并且必须在后端(管理面板)中显示相同的文本,所以我在Laravel中使用{!! !!}来显示HTML,但是最近我观察到它没有防止XSS攻击,因此,如果有人在文本<script>alert('xss')</script>中添加了此代码,则它在后端显示了警报,因此Laravel中有任何方法可以显示HTML但可以防止XSS攻击。

2 个答案:

答案 0 :(得分:1)

您可以使用html净化器。

导入此软件包: https://github.com/mewebstudio/Purifier

那么您可以使用

clean(Input::get('inputname'));

它有一个很棒的配置,可以根据您的喜好进行修改

使用

发布
$ php artisan vendor:publish --provider="Mews\Purifier\PurifierServiceProvider"

答案 1 :(得分:0)

如果要显示用户输入的完全相同的文本或HTML,则无需使用{!! !!},而可以使用{{ $your_text }}。它将完全按照您想要的方式工作。