2011-03-16 10 views

Respuesta

14

Proporcione más información de su entorno.

JavaScript sin privilegios en un navegador no puede mostrar archivos ni ejecutar programas por razones de seguridad.

En Node.js por ejemplo la ejecución de los programas de obras como esta:

var spawn = require('child_process').spawn, 
var ls = spawn('ls', ['-l']); 
ls.stdout.on('data', function (data) { 
    console.log(data); 
}); 

y hay una forma directa de una lista de archivos utilizando readdir()

2

AFAIK, no puede ejecutar ningún comando del sistema, esto violará el modelo de seguridad. Puedes enviar un comando de impresión pero me pregunto cualquier cosa más allá de eso es posible.

4

No puede ejecutar comandos del sistema en el cliente con JS ya que funciona dentro de un entorno limitado del navegador. Tendría que utilizar alguna otra tecnología del lado del cliente como Flash, ActiveX o tal vez Applets

1

La respuesta corta es: NO debe hacer esto ya que abre un gran vector de ataque contra su aplicación. Imagina a alguien corriendo "rm -rf" :).

Si DEBE hacer esto y está seguro al 1000% de permitir solo unos pocos comandos que no pueden causar ningún daño, puede llamar a una página de servidor con Ajax. Esa página podría ejecutar el comando especificado y devolver la respuesta. Una vez más, enfatizo que este es un gran riesgo de seguridad y que NO debería hacerse.

+0

Conversación relacionada: http://stackoverflow.com/questions/41088671/asp-net-c-sharp-mvc-website-how-can-i-mount-a-drive-upon-button-click – gunslingor

1

Una forma aún más fácil en Node.js es:

var fs = require('fs'); 
var ls = fs.readdirSync('/usr'); 

La variable ls contiene ahora una matriz con los nombres de archivo en/usr.

Cuestiones relacionadas