用户之间的实时聊天,喜欢在社交网络[Laravel+Node+Redis]



我需要知道如何在两个用户之间以安全的方式发送和订阅消息。

例如:user1在通道user1-2上发射message1user2订阅信道user1-2并接收message1

我如何确定user3不会拦截user1user2之间的聊天?我如何确定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足够大,你就不能伪造一个频道名称。。。

相关内容

最新更新