Node.js和Juggernaut的发布/订阅机制

4

我正在使用Express框架和Juggernaut。我查看了许多关于Juggernaut的示例,所有示例都使用此方法(客户端):

  var jug = new Juggernaut;
  jug.subscribe("channel_name", function(data){
    console.log("Got data: " + data);
  });

这个安全吗?我觉得不安全,因为每个人都可以从javascript控制台订阅频道。有没有一种方法可以从服务器端订阅频道?


有什么不安全的地方吗?另外,您想订阅在另一个服务器上运行的Juggernaut,还是在同一台服务器上? - Ivo Wetzel
2
我从这里获取例子:https://github.com/maccman/juggernaut。正如你所看到的,你可以从浏览器订阅频道。我想要在我的应用程序中使用私人频道,因此这种方式对我来说是不安全的。我希望可以检查会话,然后再允许订阅。 - sfs
2个回答

1

使用安全性通过混淆,使用随机通道名称(HMAC)。


事实上,我发现这是在大多数发布订阅系统中拥有相对安全通道的唯一方法(包括PubNub和Redis)。 - Alex Neth

0

我不知道Juggernaut如何工作,但我知道Faye支持可以包含身份验证的扩展,因此订阅操作需要有效令牌。请参见:http://faye.jcoglan.com/node.html

值得检查是否Juggernaut支持类似的扩展/拦截模型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接