【发布时间】:2017-02-08 16:08:51
【问题描述】:
作为 Node.js 的新手,我有这个问题..
我在一些地方看到它不应该以root身份运行节点,例如this。我只是使用 node 来设置 simple Web 服务并执行需要 root 访问权限的 python 脚本。我只是不明白危险在哪里,就像黑客可以做什么。
我的 node.js 文件是这样的:-
var http = require('http');
var express = require('express');
var app = express();
app.use(express['static'](__dirname));
app.get('/alert', function(req, res) {
var addr = req.query.addr;
//~ need to check if it is a valid address??
console.log('Received addr -' + addr);
var spawn = require('child_process').spawn;
var process = spawn('python', ['custom-text-led/custom-text.py', addr]);
process.stdout.on('data', function(data) {
console.log('Data:' + data);
});
})
app.get('*', function(req, res) {
res.status(404).send('Unrecognized API call');
});
app.use(function(err, req, res, next) {
if (req.xhr) {
res.status(500).send('Opps, something went wrong');
} else {
next(err);
}
});
app.listen(3000);
console.log('App server running at port 3000');
【问题讨论】:
-
如果你不知道黑客能做什么,那并不意味着黑客什么也做不了。这仅意味着您不是黑客。这就是成为一名黑客的全部意义:当每个人都认为无能为力时,看看能做什么。
标签: javascript python node.js express child-process