如何在JavaScript中运行系统命令?
请给出您的环境的更多信息。
出于安全原因,浏览器中的未授权JavaScript既不能列出文件也不能执行程序。
在node.js中例如执行的程序是这样的:
var spawn = require('child_process').spawn,
var ls = spawn('ls', ['-l']);
ls.stdout.on('data', function (data) {
console.log(data);
});
而且还有一个直接的方式使用readdir()
AFAIK,你不能运行任何系统命令,这将违反安全模型。你可以发送打印命令,但我想知道除此之外的任何事情都是可能的。
您无法在JS客户端上运行系统命令,因为它在浏览器沙箱内工作。你需要使用一些其他的客户端技术,如Flash,ActiveX或者Applets
简短的回答是 - 你不应该这样做,因为它打开了一个巨大的攻击载体对你的应用程序。想象一下有人跑"rm -rf"
:)。
如果您必须这样做,并且您确信只允许一些不会造成任何伤害的命令,则可以使用Ajax调用服务器页面。该页面可以运行指定的命令并返回响应。我再次强调这是一个巨大的安全风险,最好不要做。
相关对话:http://stackoverflow.com/questions/41088671/asp-net-c-sharp-mvc-website-how-can-i-mount-a-drive-upon-button-click – gunslingor 2016-12-12 00:44:34
更简单的方法中的node.js是列出文件:
var fs = require('fs');
var ls = fs.readdirSync('/usr');
变量ls
现在包含一个数组,其文件名为/ usr。
你说的是执行命令服务器端,正确吗?不在客户端浏览器上? – 2012-10-06 19:58:40