2011-03-16 5 views

답변

14

환경에 대한 자세한 정보를 제공하십시오.

브라우저에있는 비공개 JavaScript는 보안상의 이유로 파일을 나열하거나 프로그램을 실행할 수 없습니다. 예를 들어 실행 프로그램을위한 Node.js를에서

은 다음과 같이 작동합니다

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

을하고 Node.js를에 readdir()

2

AFAIK, 시스템 명령을 실행할 수 없으며 보안 모델을 위반합니다. 인쇄 명령을 보낼 수는 있지만 불가능한 일은있을 수 있습니다.

4

브라우저 샌드 박스 내에서 작동하므로 JS로 클라이언트에서 시스템 명령을 실행할 수 없습니다. 플래시, ActiveX 또는 어쩌면 애플릿과 같은 다른 클라이언트 측 기술을 사용해야 할 것입니다.

1

짧은 대답은 사용자의 응용 프로그램에 대한 거대한 공격 벡터를 열어서는 안됩니다. 누군가 "rm -rf" :)을 실행한다고 상상해보십시오.

반드시 수행해야하며 해를 끼칠 수없는 몇 가지 명령 만 허용하면 Ajax를 사용하여 서버 페이지를 호출 할 수 있습니다. 이 페이지는 지정된 명령을 실행하고 응답을 반환 할 수 있습니다. 다시 한 번 강조하지만 이는 거대한 보안 위험이며 수행하지 않는 것이 좋습니다.

+0

관련 대화 : http://stackoverflow.com/questions/41088671/asp-net-c-sharp-mvc-website-how-can-i-mount-a-drive-upon-button-click – gunslingor

1

이보다 더 쉬운 방법을 사용하여 파일을 나열하는 직접적인 방법이있다 :

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

변수 ls에는 파일 이름이/usr 인 배열이 포함되어 있습니다.

관련 문제