У меня phpmyadmin, PHP , nodeJS запущен на том же сервере, и я использую приведенный ниже код для получения данных с nodejs на мой php-сайт. Так что любой может скопировать этот код и добавить на какую-нибудь HTML-страницу и проверить, что мой сервер nodejs отправляет через этот порт. Есть ли способ заблокировать использование этого адреса сервера nodejs вне моего сервера ?? .

Это код на стороне клиента

var socket  = io.connect('http://xxx.xxx.xx.xx:8000');
socket.on('device', function (data) {
var   commentData = JSON.parse(data);
console.log(commentData);
   var  cID  =  commentData.data.cID;
   var  dID  =  commentData.data.dID;
   var  status  =  commentData.data.status;
if(status =='online'){
    $("#"+cID+dID).attr('class','online-icon');
}
 if(status =='offline'){
        $("#"+cID+dID).attr('class','offline-icon');
    }

});

Это код на стороне сервера

var express = require('express');
var socket  = require('socket.io');
var http    = require('http').Server(app);
var request = require('request');
var app     = express();
app.use(express.static('views'));
app.set('views', 'views/product'); 
app.use(express.static('./public'));
var bodyParser = require('body-parser')
var server     = app.listen(8000, function () {
});
var io         = socket(server);
io.on('connection', function (socket) {
 io.sockets.emit('device', 'test');
});
1
1323254365 20 Апр 2018 в 14:54

1 ответ

Лучший ответ

Есть ли способ заблокировать использование этого адреса сервера nodejs вне моего сервера?

Сетевые компьютеры обычно имеют как минимум два сетевых интерфейса: «локальный» и сетевой. Если у вас есть службы, которым нужно только общаться друг с другом на сервере, привяжите службу к локальной (localhost или 127.0.0.1).

Вы используете express , поэтому вы должны сделать это в своем listen , который идентичен вызову Server.listen . Например.:

var server     = app.listen(8000, '127.0.0.1', function () {
// -------------------------------^^^^^^^^^^^^^
});

Или для IPv6:

var server     = app.listen(8000, '::1', function () {
// -------------------------------^^^^^^^
});

Тогда никакой другой хост в сети не сможет подключиться к этой службе.

0
T.J. Crowder 20 Апр 2018 в 12:30