2014-10-19 2 views
3

Мне было интересно, есть ли кто-нибудь, кто может показать мне правильный способ заполнить мой чат.Шифрование данных NodeJS и Socket.IO

У меня есть сайт, на котором вы можете войти в свою учетную запись, и я хочу использовать чат реального времени. Решение, которое я нашел, будет NodeJS с Socket.io, но я попадаю в проблему.

например. Вы отправляете сообщение Джону следующим образом: Вы - сервер - излучаете 'сообщение' с такими параметрами, как его идентификатор и т. Д. - john имеет socket.on ('message') и получает его.

Вы можете подключиться к серверу узлов только с IP-адресом узла-сервера.

  • Но как я могу предотвратить кто-то угон разговор, создавая это один файл и подключение к узлу сервера и ожидания «сообщения» события.

  • Есть ли способ зашифровать соединение с узлом js-сервера?

  • Или я могу предотвратить, что клиент сможет подключаться только с сайта на сервер?

  • Должен ли я шифровать все сообщения с помощью Закрытого открытого ключа?

  • Если да, то как?

  • Как я могу защитить общение в чате NodeJS?

Благодарим вас за все предложения и ответы. Peter

+1

Внедрите схему аутентификации и используйте SSL. – jfriend00

ответ

5

Socket.IO позволяет настроить аутентификацию для новых сеансов. Вы можете сделать это с помощью cookies или, например, с помощью JSON web tokens. Механизм аутентификации сделал change from 0.9 to 1.0, поэтому просто знайте об этом при поиске в Интернете.

Что касается шифрования, пока вы используете https, все должно быть в порядке. Попытка реализовать свою собственную схему шифрования вместо использования https более рискованна и работает в любом случае.

+0

Являются ли данные зашифрованными в базе данных? – TrySpace