Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 24.08.2016 16:30:08

Фильтрация

Народ может я сейчас и глупость спрошу (как же без глупостей), но всё равно спрошу. Я правильно понял что в Laravel есть защита от sql  injection и прочего если пользоваться Eloquent, Шаблоны Blade и не нужно там всякие mysql_real_escape_string, htmlspecialchars ?

Изменено gisen (24.08.2016 16:31:07)

Не в сети

#2 24.08.2016 16:34:19

Re: Фильтрация

Понял-то верно, защита есть. Но так как задал этот вопрос, то на 99% не знаешь что такое и как работает PDO, верно?

Не в сети

#3 24.08.2016 16:57:10

Re: Фильтрация

Не ну не 99% то. Я  в общем спросил про фильтрацию, по этому упомянул эти функции чтоб точно был понятен вопрос. Ответ получен. Спасибо.

Не в сети

#4 24.08.2016 18:01:53

Re: Фильтрация

все ответы есть в гугле (пока цивилизация в относительном мире smile и никто никому кислород не перекрывает)

Не в сети

#5 24.08.2016 19:50:22

Re: Фильтрация

  1. и не нужно там всякие mysql_real_escape_string, htmlspecialchars

У тебя путаница. mysql_real_escape_string это SQL injection и Eloquent, а htmlspecialchars это HTML и Blade, т.е. как кошки и круглое. А ты ставишь их в один ряд («защита от sql injection и прочего, если пользоваться Eloquent, шаблоны Blade, …»).

Допустить SQLi можно и используя Eloquent, если вставлять туда сырой код (DB::raw). А экранирование HTML это вообще другая тема, ведь в SQLi и в HTML опасные символы совершенно разные.

SQLi можно не допустить, если не использовать сырых запросов. HTML нужно экранировать при выводе: {{ $var }}, здесь htmlspecialchars (на самом деле аналог — htmlentities) вызывается автоматически для $var.Для вывода без экранирования — {!! $var !!}.

Почитай документацию по шаблонам/Blade.

Только надо учесть, что в Laravel 4 как раз {{ }} использовались для вывода неэкранированных данных, что может встретиться в старых статьях.

Не в сети

#6 24.08.2016 21:58:13

Re: Фильтрация

Proger_XP пишет:

}%>
У тебя путаница. mysql_real_escape_string это SQL injection и Eloquent, а htmlspecialchars это HTML и Blade, т.е. как кошки и круглое. А ты ставишь их в один ряд ("защита от sql injection и прочего, если пользоваться Eloquent, шаблоны Blade, ...").
.

Ну по сути я тут задал 2 вопроса за 1 пост и в общем про фильтрацию, по этому так и поставил через запятую.
Вопрос был задан и был получен ответ. Ещё раз спасибо.

Не в сети

Подвал раздела