Выбор ответа Middle Сессии и безопасность спрашивают часто обновлено

Защита от CSRF

Вопрос

Что защищает форму смены email от CSRF-атаки?

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

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

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

Коротко

Правильный ответ: Токен в форме, сверяемый с сессией, и cookie с SameSite. CSRF использует то, что браузер сам прикладывает cookie к запросу с чужого сайта.

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

  1. Проверка, что запрос пришёл методом POST, а не GET
  2. Токен в форме, сверяемый с сессией, и cookie с SameSiteправильный ответ
  3. HTTPS на всём сайте: чужой сайт не отправит запрос
  4. Капча на странице входа перед доступом к настройкам

Разбор

CSRF использует то, что браузер сам прикладывает cookie к запросу с чужого сайта. Токен, который знает только ваша страница, злоумышленник подделать не может. SameSite=Lax (или Strict) не даёт браузеру отправлять cookie в межсайтовых POST. Метод POST сам по себе не защищает: форму на чужом сайте легко отправить. HTTPS шифрует, но не мешает браузеру отправить запрос. Капча на входе не связана с другими формами.

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

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