Правильно ли записывать CSRF токен в cookie?

Использую в данный момент библиотеку 'csurf' внутри связки Nest+Next.
В документации есть такой пример
app.use(cookieParser())
app.use(csrf({ cookie: true }))

При подобном способе при первом запросе происходит ответ от сервера ввиде
set-cookie: _csrf=tT_oDy39L-XZkVESH0LAA140; Path=/
При закрытии вкладки, дублировании и т.д. и т.п. данная кука сохраняется.
Она является доступной из JS, я так понимаю, чтобы была возможность потом впихнуть её в заголовки.
csrf-token
Только вот насколько это безопасно? Есть ли возможность со стороннего сайта получить ответ от подобного рода формы? Т.к. тот же JWT токен, если хранить его в cookie предлагают подкреплять запросы CSRF токеном, который, предположительно, не должен быть в cookie, чтобы при запросе на атакуемый сайт результатом стал код ответа с запретом доступа из-за невалидного или отсутствующего csrf-токена.
  • Вопрос задан
  • 425 просмотров
Решения вопроса 2
DevMan
@DevMan
зачем его писать в куки, если он должен быть уникальным на каждый запрос?
Ответ написан
Lynn
@Lynn
nginx, js, css
Странная документация. Класть csrf-токен в куку вообще бессмысленное действие. Весь его смысл в том, что бы атакующий не мог его отправит на ваш сервер, а тут браузер услужливо отправит его сам.

UPD: Хотя если эта кука используется только как хранилище, то в принципе так можно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы