2014-10-19 117 views
3

我想知道是否有人可以告诉我正确的方式来完成我的聊天。NodeJS和Socket.IO数据加密

我有一个网站,您可以登录到您的帐户,我想实现实时聊天。我发现的解决方案是使用Socket.io的NodeJS,但我遇到了一个问题。

例如 你发送消息给约翰是这样的: 你 - 服务器 - 发出带有诸如他的ID等参数的'消息' - 约翰有socket.on('消息')并接收它。

只能使用节点服务器的IP连接到节点服务器。

  • 但是如何防止某人通过创建一个文件并连接到节点服务器并等待'message'事件来劫持对话。

  • 有没有办法加密连接到节点js服务器?

  • 或者我可以防止客户端只能从网站连接到服务器?

  • 我应该使用私钥,公钥加密所有邮件吗?

  • 如果是这样怎么样?

  • 如何保护NodeJS聊天通信?

非常感谢您提前了解所有建议和答案。 Peter

+1

实施认证方案并使用SSL。 – jfriend00 2014-10-19 16:29:40

回答

5

Socket.IO允许您为新会话设置身份验证。例如,您可以使用cookies或使用JSON web tokens。认证机制确实是change from 0.9 to 1.0,所以在使用Google时请注意。

就加密而言,只要你使用https,你应该没问题。试图实现自己的加密方案,而不是使用https是更冒险和更多的工作无论如何。

+0

数据库中的数据是否已加密? – TrySpace 2016-01-05 12:36:05