在Laravel中使用XSS保护通过刀片输出html的最佳方法

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

我需要从数据库输出一些html,这是用户通过CKEeditor填充的。因此它可能包含<script>alert('something');</script>或其他内容。如果我通过刀片{{ $news->body }}转义了html输出-我将得到纯文本格式的html,这不是我所需要的。但是,如果我使用{!! $news->body !!},我将获得正常的HTML并带有工作提示。有什么干净的方法可以解决吗?

laravel blade
1个回答
0
投票

对于Laravel 5和更高版本,有Purifier很好地将上述HTMLPurifier集成到Laravel中。

使用composer require mews/purifier安装,然后使用

{!! clean($news->body) !!}

输出已使用默认HTMLPurifier设置正确转义的HTML。

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