Пожалуйста, проверьте код на стороне сервера ниже.Предполагая, что data.id в какой-то момент является abc77, каждый подключенный браузер получит сообщение сокета «my_model / abc77: update» или только те, которые подписались на это конкретное сообщение, независимо от того, было ли вызвано событие socket.io илине?
Чтобы уточнить, используя практическое приложение: сможет ли хакер получить сообщение «my_model / abc77: update» с помощью консоли разработчика браузера, даже если его экземпляр моего приложения не имеет на него подписки, не зная, что data.id это abc77?
var io = require('socket.io');
io.listen ( server ).sockets.on ( 'connection', function ( socket ) {
socket.on('my_model:update', function(data, callback) {
database.save(data, function(err){
if (!err) {
callback(data);
socket.broadcast.emit('my_model/'+data.id+':update');
}
});
});
});