2011-01-09 2 views
4

Я использую express framework и juggernaut. Я посмотрел на много примеров о безжалостной, все примеры, используя этот метод (на стороне клиента):node.js и juggernaut pub/sub

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

Безопасно ли это? Я так не думаю, что каждый может подписаться на канал с консоли javascript. Есть ли способ подписаться на канал со стороны сервера?

+0

Что должно быть неуверенно в этом? Кроме того, вы хотите подписаться на Juggernaut, который работает на ** другом ** сервере или на том же самом? –

+2

Я беру пример отсюда: https://github.com/maccman/juggernaut. Как вы можете видеть, вы можете подписаться на канал из браузера. Я хочу, чтобы в моем приложении были частные каналы, так что для меня это небезопасно. Я хочу проверить сеанс, а затем разрешить подписку. – sfs

ответ

1

Используйте защиту через неизвестность, используйте произвольное имя канала (HMAC).

+0

Действительно, я считаю, что это единственный способ иметь несколько безопасных каналов в большинстве систем pubsub (PubNub, Redis также) –

0

Я не знаю, как работает Juggernaut, но я знаю, что Faye поддерживает расширения, которые могут включать аутентификацию, так что для операций подписки требуется действительный токен. См.: http://faye.jcoglan.com/node.html

Было бы целесообразно проверить, поддерживает ли Juggernaut аналогичную модель расширения/перехвата.

Смежные вопросы