我需要知道如何在两个用户之间以安全的方式发送和订阅消息。
例如:user1
在通道user1-2
上发射message1
user2
订阅信道user1-2
并接收message1
我如何确定user3
不会拦截user1
和user2
之间的聊天?我如何确定user3
不会订阅频道user1-2
?
我正在使用Laravel 5,Node.js,Redis,Socket.io。我只需要知道如何确保安全。
User1向服务器询问用户1-2的频道名称,服务器生成随机guid ch-12345并将其返回给客户端,并添加标记,表明用户1引用了ch-12345,用户2也引用了ch.12345。
SADD user1:channels ch-12345
SADD user2:channels ch-12345
User1将消息发布到ch-12345。
ZADD ch-12345 (+new Date()) "Hello!"
用户2登录时要求服务器提供可用频道。
SMEMBERS user2:channels
OR服务器通知客户端他有新频道。
PUBLISH user2-new-channel ch-12345
你可以很容易地通过检查用户3是否可以访问频道
SISMEMBER user3:channels ch-12345
如果随机guid足够大,你就不能伪造一个频道名称。。。