В настоящее время я добавляю механизм защиты маркера CSRF в мое приложение php. Как я читал, единственным требованием является уникальный токен для каждого пользователя, который я генерирую с использованием random_bytes в php7.Глубокая защита CSRF
Я беспокоюсь, если злоумышленник отправляет HTTP-запрос с использованием браузера пользователя, так или иначе браузер не будет отправлять переменную сеанса токена? (поскольку у пользователя есть sessionid, связанный с токеном).
Я храню токен внутри скрытого значения, полученного от переменной сеанса.
Например: мой токен хранится внутри переменной сеанса, а затем злоумышленник отправляет меня на страницу с паролем с защитой csrf, проверка не пройдет? (У меня уже есть правильный идентификатор сеанса в моих браузерах).
Благодаря
Если вы храните маркеры на стороне клиента (например, в файле cookie), или вы храните его на стороне сервера в массиве сеансов, но все, что требуется от клиент - это идентификатор сеанса, вы делаете это неправильно. Маркер должен быть помещен как скрытое поле во все формы на вашем веб-сайте, которые выполняют действие, которое вы не хотели бы повторять или подражать злоумышленнику. См. Https://www.acunetix.com/websitesecurity/csrf-attacks/ – Mike
Кроме того, другим требованием является использование HTTPS. –