【发布时间】:2018-04-20 11:54:59
【问题描述】:
我有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');
});
【问题讨论】:
-
这就是防火墙的作用
-
@GordonM 好先生,你能解释一下吗??
-
client side是什么意思? -
@BrahmaDev 表示用户浏览器(chrome、firefox)
-
如果我做对了,选择的答案将不起作用,请参阅他对答案的最后评论。这将阻止任何人访问它。
标签: javascript php node.js socket.io