node.js 和 juggernaut 发布/订阅
Posted
技术标签:
【中文标题】node.js 和 juggernaut 发布/订阅【英文标题】:node.js and juggernaut pub/sub 【发布时间】:2011-06-06 04:24:33 【问题描述】:我正在使用 express 框架和 juggernaut。我看了很多关于剑圣的例子,所有的例子都使用这种方法(客户端):
var jug = new Juggernaut;
jug.subscribe("channel_name", function(data)
console.log("Got data: " + data);
);
它安全吗?我不这么认为,每个人都可以从 javascript 控制台订阅频道。有没有办法从服务器端订阅频道?
【问题讨论】:
它有什么不安全的地方?另外,您想订阅在另一台服务器上还是在同一台服务器上运行的剑圣? 我从这里举个例子:github.com/maccman/juggernaut。如您所见,您可以从浏览器订阅频道。我想在我的应用程序中使用私人频道,所以这种方式对我来说是不安全的。我想检查会话然后允许订阅。 【参考方案1】:通过隐蔽使用安全性,使用随机通道名称 (HMAC)。
【讨论】:
确实,我发现这是在大多数 pubsub 系统(PubNub,Redis 也是)中拥有某种安全通道的唯一方法【参考方案2】:我不知道 Juggernaut 是如何工作的,但我知道 Faye 支持可以包含身份验证的扩展,因此订阅操作需要有效的令牌。见:http://faye.jcoglan.com/node.html
值得检查一下剑圣是否支持类似的扩展/拦截模型。
【讨论】:
以上是关于node.js 和 juggernaut 发布/订阅的主要内容,如果未能解决你的问题,请参考以下文章
如何在生产模式下运行 redis 服务器和 juggernaut 服务器
使用 rails 应用程序启动 Juggernaut 和 Redis
如何在 Internet Explorer 中测试 Rails Juggernaut?