Нужна ли мне защита cstf, если backend и frontend имеют разные домены?
У меня есть:
- Реагируйте на приложение: https://myreact.com .
- Django + DRF: https://mydjango.com .
- В React есть форма, которая при отправке посылает POST запрос на
mydjango.com/handle-form
со всеми куками, потому что я указываюwithCredentials: true
в моем ajax запросе (таким образом все куки отправляются).
Как я вижу, нет возможности выполнить csrf атаку, потому что браузер хранит куки только для myreact.com
. И если злоумышленник создаст домен myreact2.com
с такой же точно формой (которая при отправке посылает POST запрос на mydjango.com/handle-form
), cookies с myreact.com не будут отправлены, что означает отсутствие csrf атаки.
Вопросы:
- Я прав?
- Будет ли браузер хранить куки только на myreact.com или на обоих доменах, когда я делаю ajax запрос с myreact.com на mydjango.com и mydjango.com в ответ посылает заголовок Set-Cookie? .
Я понимаю, как это будет работать, когда фронтенд и бэкенд используют один и тот же домен. CSRF атака может быть очень возможна без csrf токена или чего-то еще. Но мой случай меня беспокоит