Laravel — Функции безопасности

Laravel — Функции безопасности

От автора: безопасность является важным аспектом при разработке веб-приложений. Разработчики должны обеспечить защиту данных пользователей. Поэтому в Laravel функции безопасности очень важны. Они предоставляют собой различные механизмы для защиты веб-сайта. Ниже перечислены некоторые из них.

Хранение паролей — Laravel предоставляет класс с именем «Hash», который обеспечивает безопасное кэширование Bcrypt. Пароль может быть закэширован следующим образом.

$password = Hash::make('secret');

Функция make() принимает значение в качестве аргумента и возвращает хешированное значение. Хешированное значение можно проверить с помощью функции check() следующим образом.

Hash::check('secret', $hashedPassword)

Вышеуказанная функция возвращает логическое значение. Если пароль совпадает, возвращается true, в противном случае — false.

Аутентификация пользователей. Еще одна основная функция безопасности в Laravel — аутентификация пользователя и выполнение определенных действий. Laravel позволяет выполнить эту задачу значительно проще, для этого мы можем использовать метод Auth::attempt следующим образом.

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее
if (Auth::attempt(array('email' => $email, 'password' => $password))) {
  return Redirect::intended('home');
}

Метод Auth::attempt принимает в качестве аргумента учетные данные и сравнивает их с учетными данными хранящимися в базе данных. Если данные совпадают, возвращается true, в противном случае — false.

Защита от CSRF (межсайтовой подделки запроса)/XSS кросс-сайтового скриптинга — атаки с использованием кросс-сайтового скриптинга осуществляются, когда злоумышленник имеет возможность разместить код JavaScript на стороне клиента на странице, просматриваемой другими пользователями. Чтобы защититься от подобного типа атак, вы всегда должны проверять пользовательские данные и не допускать добавления опасных сигнатур. В шаблонах Blade следует использовать синтаксис двойной привязки ({{$value}}), {!!$value!!} следует применять, когда вы уверены, что данные безопасны для отображения без обработки.

Противодействие SQL-инъекциям — уязвимость к SQL-инъекциям связана с вставкой нефильтрованных произвольных данных пользователя в SQL-запрос. По умолчанию Laravel защищает вас от такого типа атак, поскольку и конструктор запросов, и Eloquent используют класс объектов данных PHP (PDO). PDO использует подготовленные операторы, которые позволяют безопасно передавать любые параметры без необходимости их удаления и санации.

Cookies — безопасны по умолчанию — Laravel позволяет просто создавать, читать и отключать файлы cookie с помощью класса Cookie. В Laravel все файлы cookie автоматически подписываются и шифруются. Это означает, что если они будут подделаны, Laravel автоматически отвергнет их. Это также означает, что вы не сможете считать их на стороне клиента с помощью JavaScript.

Принудительное использование HTTPS при обмене конфиденциальными данными — HTTPS блокирует перехват злоумышленникам в одной сети конфиденциальной информации, такой как переменные сеанса, и регистрацию с ее помощью от имени жертвы.

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Фреймворк Laravel: теория и первая практика

Овладейте азами фреймворка Laravel!

Получить

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree