Socket.io: проверять аутентификацию на каждое событие или соединение - PullRequest
1 голос
/ 25 июня 2019

Я хотел бы убедиться, что пользователь вошел в систему, прежде чем он отправляет чаты. Для этого мне следует использовать промежуточное ПО аутентификации, которое запускается при каждом соединении, или промежуточное ПО, которое запускается при каждом событии?

Я беспокоюсь, если я воспользуюсь первым, пользователь может войти, а затем выйти (не теряя соединение) и продолжать отправлять сообщения, даже не войдя в систему.

Однако, просматривая все различные сообщения stackoverflow, никто не упомянул эту проблему. Может кто-нибудь сказать мне, какой подход обычно используется?

1 Ответ

0 голосов
/ 25 июня 2019

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

Настройте реализацию socket.io:

  1. Обновите socket.ioреализация для использования 2.x.
  2. Используйте конфигурацию 'socket.io # originins', чтобы исключить подстановочный знак CORS по умолчанию для любого домена.
  3. Использовать аутентифицированные сеансы в соединении socket.io,См. «Socket.io # adapter» или альтернативный модуль «session.socket.io».

Настройте заголовки безопасности своих сайтов:

  1. Запустите ваш сайт (если это общедоступно)доступны) от https://securityheaders.com для проверки текущей реализации.
  2. Воспользуйтесь руководством (ями) в OWASP для получения дополнительных возможностей защиты вашего сайта, таких как руководство по использованию более новых доступных заголовков безопасности.в браузерах.https://www.owasp.org/index.php/List_of_useful_HTTP_headers

источник: https://security.stackexchange.com/questions/89660/how-to-secure-my-node-js-socket-io-application-properly

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