chelkaz
@chelkaz

Есть что то логичнее для фильтрации запросов?

Во всем проекте много разных форм. По сути пользователю нужны все символы для полноценного описания. Возможно есть что то готовое и проверенное? На данный момент я делаю через цикл:

foreach ($request->all() as $key => $val) {
$new_val = htmlspecialchars(preg_quote(strip_tags($val),"'"), ENT_QUOTES);
$request->merge([$key => $new_val]);
}
  • Вопрос задан
  • 258 просмотров
Пригласить эксперта
Ответы на вопрос 3
Stalker_RED
@Stalker_RED
По сути пользователю нужны все символы для полноценного описания.

1. На входе ничего не меняем, только экранируем sql-инъекции перед записью в БД (это уже встроено в ORM в большинстве фреймворков)
2. Экранируем/фильтруем текст при выводе в шаблон.
Ответ написан
@eskrano
Эскейпить надо только при выводе.
А тот код который приложили тут - выкиньте и никогда не доставайте.
Ответ написан
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
1. Для записи в БД всегда используйте модели, и встроенный ORM. Он за вас все экранирует.
2. Для вывода используйте blade шаблоны, выводите переменную следующим образом:
{{ $title }}
Если понадобится, чтобы html теги выводились обычным образом, используйте следующую конструкцию:
{!! $title !!}

Если вы по какой-то причине не хотите использовать Blade (а зря, инструмент хороший) - используйте встроенную в laravel функцию-хелпер e() для экранизации:
<?php echo e($title); ?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы