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