Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Народ может я сейчас и глупость спрошу (как же без глупостей), но всё равно спрошу. Я правильно понял что в Laravel есть защита от sql injection и прочего если пользоваться Eloquent, Шаблоны Blade и не нужно там всякие mysql_real_escape_string, htmlspecialchars ?
Изменено gisen (24.08.2016 16:31:07)
Не в сети
Понял-то верно, защита есть. Но так как задал этот вопрос, то на 99% не знаешь что такое и как работает PDO, верно?
Не в сети
Не ну не 99% то. Я в общем спросил про фильтрацию, по этому упомянул эти функции чтоб точно был понятен вопрос. Ответ получен. Спасибо.
Не в сети
все ответы есть в гугле (пока цивилизация в относительном мире и никто никому кислород не перекрывает)
Не в сети
- и не нужно там всякие 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 как раз {{ }} использовались для вывода неэкранированных данных, что может встретиться в старых статьях.
Не в сети
}%>
У тебя путаница. mysql_real_escape_string это SQL injection и Eloquent, а htmlspecialchars это HTML и Blade, т.е. как кошки и круглое. А ты ставишь их в один ряд ("защита от sql injection и прочего, если пользоваться Eloquent, шаблоны Blade, ...").
.
Ну по сути я тут задал 2 вопроса за 1 пост и в общем про фильтрацию, по этому так и поставил через запятую.
Вопрос был задан и был получен ответ. Ещё раз спасибо.
Не в сети
Страницы 1