我需要知道如何以安全的方式在 2 个用户之间发送和订阅消息。
例如:
在频道上user1
发出message1
:user1-2
user2
订阅频道user1-2
并接收message1
我怎么能确定user3
不会拦截和之间user1
的聊天user2
?我怎么能确定user3
不会订阅频道user1-2
?
我正在使用这个 Laravel 5、Node.js、Redis、Socket.io。我只需要一些想法如何确保它的安全。
我需要知道如何以安全的方式在 2 个用户之间发送和订阅消息。
例如:
在频道上user1
发出message1
:user1-2
user2
订阅频道user1-2
并接收message1
我怎么能确定user3
不会拦截和之间user1
的聊天user2
?我怎么能确定user3
不会订阅频道user1-2
?
我正在使用这个 Laravel 5、Node.js、Redis、Socket.io。我只需要一些想法如何确保它的安全。
User1 向服务器询问 user1-2 的频道名称,服务器生成随机 guid ch-12345 并将其返回给客户端,并添加 user1 引用 ch-12345 和 user2 也有引用的标记。
SADD user1:channels ch-12345
SADD user2:channels ch-12345
User1 向 ch-12345 发布消息。
ZADD ch-12345 (+new Date()) "Hello!"
用户 2 在登录时向服务器询问可用频道。
SMEMBERS user2:channels
或服务器通知客户端他有新频道。
PUBLISH user2-new-channel ch-12345
您可以通过以下方式轻松检查 user3 是否可以访问频道
SISMEMBER user3:channels ch-12345
如果随机 guid 足够大,您将无法强制使用频道名称...