2013-02-28 5 views
1

나는 그 위에 테스트 프레임 워크를 구축하고있는 Codeigniter 프레임 워크를 가지고 있습니다. 테스트 프레임 워크의 기능 중 하나는 테스트 슈트를 원격으로 배포하는 것입니다. 내 컨트롤러에서codeigniter에서 명령 행을 실행 -

public function deploy_test() 
{ 
    if(!$this->input->is_cli_request()) { 
     echo json_encode(system("python test_suit.py")); 
    } 
} 

를, 그래서 테스트를 배포 할 때, 나는 그것을 실행하려면 : 따라서, 나는 웹 페이지에서 쓴 Python 테스트 슈트를 배포하는 데 노력하고있어. 개념 증명을 위해 나는 그렇게했다. 그러나 작업은 배포되지 않으며 명령 줄도 실행되지 않습니다. 터미널에서 해당 코드를 실행하면 예상대로 작동합니다. 내가 여기서 무엇을 놓치고 있니? 감사합니다

** 그 ... 내가 ls -l 작동을 실행할 때 언급 호기심

+0

웹 사용자 ('www','apache' 등)는 해당 파일을 실행할 수있는 권한이 있으며 (스크립트가 수행해야하는 작업을 수행합니까?)? 또한, 경로가 정확한지 절대 확신합니까? – jeroen

+0

권한이 '755'입니다. 절대 경로는 정확합니다 ... 나는 완전한 경로로 실행하고 있습니다 – cybertextron

+0

@jeroen 어떻게 든 파이썬을 실행하고 싶지 않습니다 ... 심지어'python --version'도 작동하지 않습니다. – cybertextron

답변

0

기본적으로,이 나쁜 생각입니다 - 호스트가 결국 (서버에 일을 실행에 대한 액세스를 거부 한 경우, 당신의 코드가 악의적이지 않다는 것을 어떻게 알 수 있습니까?) 적어도, 당신의 공급자에게 말을하지 않고도 이것을 해결하려고 시도해서는 안됩니다.

결국 LS를 실행하는 것은 실제로 악의적 인 것은 아니지만 'rm -rf가 서버'인 Python 스크립트를 실행하고 실행 해 볼 수 있습니다.

이제는 해결 방법을 찾을 수는 있지만 내 마음에는 문제가 있습니까? 그들은 이것을 해킹 시도라고 해석 할 수 있습니다.

+0

나는 Russ에게 모든 것을 썼다. 그리고 서버는 나의 서버 인 로컬 서버 다. 그렇게 할 수있는 더 좋은 방법이 있니? – cybertextron

+0

아, 알았어 .- 내 말은 여전히 ​​약하다. 문맥이 바뀌지 만. 이걸 실행하면 로그 파일을 체크 아웃 했니? (가정) linux - log - file - –

관련 문제