Повышение безопасности в чате now.js / socket.io - PullRequest
5 голосов
/ 23 декабря 2011

Чат с nowjs или socket.io - одно из самых простых упражнений, которое вы можете выполнить с ними.Я хочу реализовать чат с несколькими комнатами (с не фиксированным количеством комнат и зарегистрированных пользователей), используя объекты группы nowjs.

Я еще не работал с WebSockets напрямую и хочузнать, какие проблемы безопасности есть.Например, как часто мне нужно проверять аутентификацию?

Возможно ли, чтобы злоумышленник "взломал" соединение с socket.io и как я могу предотвратить это?есть ли ловушки для беспокойства?

1 Ответ

12 голосов
/ 23 декабря 2011

Человек посередине, безусловно, является соображением. Однако самой большой проблемой безопасности будет XSS.

Эта полезная тема SO предлагает:

  1. socket.io 0.8 имеет встроенную проверку реферера
  2. если чат из известного источника, заблокируйте лишние соединения на брандмауэре

Эта очень информативная статья предлагает:

  1. не доверяй клиенту
  2. использовать шифрование SSL
  3. проверить происхождение
  4. предотвратить XSS (очистить ввод от клиента!)
  5. не думайте, что это браузер

Этот полезный поток говорит, чтобы установить безопасный: true для socket.io.connect (...)

Я бы рекомендовал принять все эти предложения:)

...