следующий. js приложение как предотвратить атаки XSS и CSRF? - PullRequest
1 голос
/ 21 июня 2020

В основном я создаю бессерверное следующее. js приложение с mongodb.

Идея 1: React уже предотвращает большую часть XSS, поэтому я должен просто хранить информацию для входа в систему в веб-хранилище? таким образом мне не нужно беспокоиться о CSRF.

Идея 2: если я использую аутентификацию на основе httpOnly cook ie, поскольку httpOnly и sameorigin уже предотвращают XSS (и некоторые CSRF), я могу продолжить свой дизайн без забот? Как вы думаете, этого достаточно для начинающего сайта электронной коммерции?

Идея 3. Добавьте токен CSRF в Cook ie на основе аутентификации

  1. пользователь вошел в систему, в / api / login я проверяю имя пользователя / пароль, затем создаю повар ie с токеном CSRF в нем, а также res.end (CSRF). после получения этого мы сохраняем CSRF в useContext, чтобы сделать его доступным для всех компонентов.
  2. поэтому всякий раз, когда я получаю с помощью POST, я прикрепляю этот глобальный токен CSRF к req.body, наконец, в / api / мы сравниваем это CSRF в req.body с CSRF в поваре ie.

есть ли лучшие идеи для бессерверного приложения? или я что-то упускаю? что ты порекомендуешь ? ОБНОВЛЕНИЕ: я знаю, что доступен nextAuth. js, но в обсуждении на github говорится: «Это проблема с next-auth. Это репо не поддерживается и не рекомендуется нами ...»

идея 4: используйте Встроенный фреймворк CSRF, например express. js ....

PS Должен ли я сначала заполнить веб-сайт, прежде чем беспокоиться о безопасности? я устал делать это ...

1 Ответ

2 голосов
/ 21 июня 2020

NextAuth. js

О NextAuth. js

NextAuth. js - это полное решение для аутентификации с открытым исходным кодом для Next. js приложений.

Он разработан с нуля для поддержки Next. js и бессерверных.

...

Защищен по умолчанию

Разработан чтобы быть безопасным по умолчанию и продвигать передовой опыт по защите данных пользователя Попытки реализовать последнее руководство, опубликованное Open Web Application Security, ориентированные на безопасность функций включают защиту CSRF, использование подписанных файлов cookie, префиксы Cook ie, безопасные файлы cookie, только HTTP, размещать только и защищать только файлы cookie и продвигать вход без пароля. «

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...