Я создаю приложение с веб-интерфейсом js и бэкэндом REST API node.js.
При поиске работы с механизмом аутентификации ответы всегда одинаковы с использованием JWT VS ID сеанса и хранение в локальном хранилище VS файлов cookie со следующими предупреждениями:
Local storage is vulnerable to XSS, don't do it
Cookies are vulnerable to CSRF, even if they are httponly and secure, don't do it
Double Submit Cookies method is vulnerable to XSS
В принципе, какое бы решение мы ни выбрали, мы всегда будем уязвимы к XSS или CSRF.
Я не знаю не понимаю Это 2020 год, и, похоже, механизма безопасной аутентификации не существует? Но тогда,
Означает ли это, что stackoverflow.com уязвим для XSS или CSRF?
Означает ли это, что facebook.com уязвим для XSS или CSRF?
Означает ли это, что twitter.com уязвим для XSS или CSRF?
Означает ли, что google.com уязвим для XSS или CSRF?
- Означает ли это, что amazon.com уязвим для XSS или CSRF?
Я не понимаю.
Я думаю, что это веб-сайты безопасны в отношении аутентификации, хотя они не используют ни двухфакторную аутентификацию, ни OAuth, ни просят пользователя повторно войти в систему на каждой странице refre sh.
Так почему все говорят всем, что есть 2 решения ( один уязвим для XSS и один уязвим для CSRF) если все эти сайты безопасны? Как они защищают свою аутентификацию и почему мы не можем сделать то же самое?