2011-01-09 4 views
4

Ich benutze Express-Framework und Moloch. Ich sah viele Beispiele über Moloch, alle Beispiele mit dieser Methode (Client-Seite):node.js und juggernaut pub/sub

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

Ist es sicher? Ich denke nicht, jeder kann einen Kanal von der Javascript Konsole aus abonnieren. Gibt es eine Möglichkeit, einen Kanal serverseitig zu abonnieren?

+0

Was sollte unsicher sein? Möchtest du auch Juggernaut abonnieren, das auf ** einem anderen ** Server oder auf demselben läuft? –

+2

Ich nehme das Beispiel von hier: https://github.com/maccman/juggernaut. Wie Sie sehen können, können Sie einen Kanal über den Browser abonnieren. Ich möchte private Kanäle in meiner Anwendung, so ist dieser Weg für mich unsicher. Ich möchte die Sitzung überprüfen und dann das Abonnement zulassen. – sfs

Antwort

1

Verwenden Sie Sicherheit durch Dunkelheit, verwenden Sie einen zufälligen Kanalnamen (HMAC).

+0

Tatsächlich finde ich, dass dies die einzige Möglichkeit ist, in den meisten pubsub-Systemen etwas sichere Kanäle zu haben (PubNub, Redis auch) –

0

Ich weiß nicht, wie Juggernaut funktioniert, aber ich weiß, dass Faye Erweiterungen unterstützt, die Authentifizierung enthalten können, so dass Abonnementoperationen ein gültiges Token erfordern. Siehe: http://faye.jcoglan.com/node.html

Es wäre zu prüfen, ob Juggernaut ein ähnliches Extension/Intercept-Modell unterstützt.