Laravel/Blade - есть ли способ избежать всего вывода, кроме тегов форматирования?

Я изучаю Laravel из JavaScript, поэтому я не очень знаком с PHP. Я пытаюсь сделать приложение, которое имеет текстовое поле ввода, и отображает ввод в формате с уценкой. Я использую Parsedown для анализа уценки в HTML, а затем в своем шаблоне блейда использую:

{!! $post->body !!}

показать это. Он выходит в формате HTML, но, конечно, это также рискует <script> теги и т. д., будучи также неэкранированным.

Есть ли простой способ убедиться, что только такие вещи, как <p>, <ul>, <em>, а другие вещи, созданные уценкой, не ушли?

2 ответа

Насколько я знаю, Laravel не предоставляет готового решения для этого. Если вас может заинтересовать очистка потенциально подозрительных данных, взгляните на HTML-очиститель для Laravel.

Вы можете добавить свой собственный тег в блейд-движок, предоставив ссылку, когда я вернусь домой. В качестве второго решения вы можете создать расширение. Удлинитель клинка (документы по Laravel)

Другие вопросы по тегам