Выбор ответа Middle Аутентификация обновлено

SameSite=Lax на практике

Вопрос

Кука сессии выставлена с SameSite=Lax. С какого запроса с чужого сайта браузер её отправит?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Пользователь кликнул по обычной ссылке на ваш сайт, и браузер перешёл на неё GET-ом. Lax пропускает куку только при навигации верхнего уровня безопасным методом, то есть при обычном переходе по ссылке.

Варианты ответа

  1. Пользователь кликнул по обычной ссылке на ваш сайт, и браузер перешёл на неё GET-омправильный ответ
  2. Чужая страница отправила на ваш сайт скрытую форму методом POST без участия пользователя
  3. Чужая страница сделала фоновый fetch к вашему API с credentials: 'include'
  4. Чужая страница подгрузила ваш URL в <img>, и браузер выполнил GET за картинкой

Разбор

Lax пропускает куку только при навигации верхнего уровня безопасным методом, то есть при обычном переходе по ссылке. Кросс-сайтовый POST формы, фоновый fetch и подгрузка картинки считаются межсайтовыми подзапросами или небезопасными методами, куку они не получат. Именно поэтому Lax закрывает большую часть CSRF-атак.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме