В Laravel вы можете защитить свое приложение от атак с подделкой межсайтовых запросов (CSRF), используя встроенную защиту CSRF. Атаки CSRF — это тип атаки, когда вредоносный веб-сайт обманом заставляет пользователя отправить форму или сделать запрос от имени пользователя на другой веб-сайт. В этой статье мы рассмотрим, что такое CSRF-атаки, как работает защита от CSRF в Laravel и как ее использовать в вашем приложении Laravel.

Что такое CSRF-атаки?

При атаке CSRF злоумышленник создает веб-сайт, содержащий форму или другой запрос, нацеленный на уязвимый веб-сайт. Когда пользователь посещает веб-сайт злоумышленника и отправляет форму или запрос, запрос отправляется на уязвимый веб-сайт с информацией о сеансе пользователя. Это позволяет злоумышленнику выполнять действия от имени пользователя, такие как изменение пароля или совершение несанкционированных покупок.

Как работает защита от CSRF в Laravel

Защита от CSRF в Laravel работает путем добавления токена CSRF к каждой форме и запросу, отправленному из вашего приложения. Маркер уникален для каждого пользователя и каждого сеанса и проверяется на стороне сервера при получении запроса. Если токен недействителен, запрос отклоняется.

Чтобы использовать защиту Laravel CSRF, вам просто нужно включить директиву @csrf в свои формы:

<form method="POST" action="/example">
    @csrf

    <!-- Form fields go here -->
</form>

Это создаст скрытое поле ввода с токеном CSRF. Когда форма будет отправлена, токен будет включен в запрос и проверен Laravel.

В дополнение к включению директивы @csrf в ваши формы, Laravel также включает промежуточное программное обеспечение, которое автоматически проверяет токены CSRF для любых запросов, отличных от GET. Это ПО промежуточного слоя включено в группу ПО промежуточного слоя web, которая по умолчанию применяется ко всем маршрутам, определенным в файле routes/web.php.

Если вам нужно исключить определенные маршруты из защиты CSRF, вы можете сделать это, добавив их в массив $except в промежуточном программном обеспечении VerifyCsrfToken:

protected $except = [
    'stripe/*',
];

В этом примере любые маршруты, начинающиеся с /stripe, будут исключены из защиты CSRF.

Это обзор защиты от CSRF в Laravel.

Ключевыми моментами этого урока являются

  1. Встроенная в Laravel защита от CSRF работает путем добавления уникального токена в сеанс каждого пользователя и его проверки на стороне сервера при получении запроса.
  2. Чтобы использовать защиту Laravel от CSRF, вы можете просто включить директиву @csrf в свои формы, которая создает скрытое поле ввода с токеном CSRF.
  3. Защита Laravel от CSRF автоматически применяется ко всем запросам, отличным от GET, в группе промежуточного программного обеспечения web, но вы можете исключить определенные маршруты из защиты CSRF, добавив их в массив $except в промежуточном программном обеспечении VerifyCsrfToken.

это из этой статьи

Сообщение для спонсоров

Привет! Вы хотите быть героем, который помогает финансировать интересные истории? Обещаю, это будет веселее, чем смотреть, как коты играют на пианино в Интернете. Давайте объединим усилия и сотворим волшебство!

https://www.patreon.com/user?u=84011757

https://ismailsaleem.gumroad.com/

https://www.buymeacoffee.com/ismailsaleem