OH, HIFaye: Как отключить определенный канал для публикации клиентами?
Я создаю приложение чата с сервером, написанным с node.js и faye.
- клиентов подписаться
/messages/new
сообщения, идущих таким образом:
клиента на сторону клиент
--[publish to /messages]-->
сервера--[publish to /messages/new]-->
всех клиентов
Но если я Анонимус H4x0r я могу редактировать клиентские JS файл и заставить мой клиент публиковать сообщения не на /messages
, а на /messages/new
. Сообщения будут передаваться клиентскому серверу и напрямую обращаться к клиентам. Я хочу сообщения идти через стороне клиента сервера, вызывает сервер делать магии: проверяет маркер, сохраняет сообщение в базе данных Redis и журналы
Вопрос
Как отключить конкретный канал для публиковать клиентов?
Должен ли я писать пользовательский движок? Я не нашел конфигурацию каналов на сервере Faye. Дайте мне знать, если вы хотите увидеть какой-то код, не знаю, что вам показать.
Примечание
createServer = ->
server = http.createServer()
server.listen settings.serverPort
bayeux = new faye.NodeAdapter ##################################
mount: '/faye' # This is "server side client"
timeout: 45 # lol
bayeux.attach server ##################################
fayeClient = bayeux.getClient()
log "listening on port #{settings.serverPort}..."
return [fayeClient, bayeux]
редактирует
- Edit: переименовать "сервер" на "стороне клиента сервер"
- Edit2: добавить
Note
Минуя сервер будет означать, вы пиринговые соединения, которого у вас нет. – DanFromGermany
Да, я не выражал себя ясно. Сообщение обходит мой _server_ - faye.nodeAdapter, прикрепленный к http-серверу, который фактически является сторонним сервером. Мне нужно управлять потоком сообщений _ для блокировки сообщений на определенном канале от клиентов браузера. – voy