I need to list all the files in the javascript such as "ls"??
-
2You are talking about executing commands server-side, correct? Not on the client browser? – Ehtesh Choudhury Oct 06 '12 at 19:58
5 Answers
Please give more information of your environment.
Unprivileged JavaScript in a browser can neither list files nor execute programs for security reasons.
In node.js for example executing programs works like this:
var spawn = require('child_process').spawn,
var ls = spawn('ls', ['-l']);
ls.stdout.on('data', function (data) {
console.log(data);
});
And there is a direct way to list files using readdir()
- 8,032
- 2
- 30
- 54
You can't run system commands on the client with JS since it works inside a browser sandbox. You'd need to use some other client side tech like Flash, ActiveX or maybe Applets
- 48,581
- 13
- 106
- 137
An even easier way in node.js is:
var fs = require('fs');
var ls = fs.readdirSync('/usr');
The variable ls now contains an array with the filenames at /usr.
- 1,601
- 18
- 33
AFAIK, you can not run any system command, this will violate the security model. You can do send a print command but I wonder anything beyond that is possible.
- 4,867
- 7
- 39
- 51
The short answer is - you should NOT do this as it opens a huge attack vector against your application. Imagine someone running "rm -rf" :).
If you MUST do this and you are 1000% sure you allow only a few commands which cannot cause any harm you can call a server page using Ajax. That page could run the specified command and return response. Again I emphasize this is a huge security risk and should better NOT be done.
- 30,432
- 8
- 57
- 92
-
Related conversation: http://stackoverflow.com/questions/41088671/asp-net-c-sharp-mvc-website-how-can-i-mount-a-drive-upon-button-click – gunslingor Dec 12 '16 at 00:44