1

フレームワークがありCodeigniter、その上にテストフレームワークを構築しています。テストフレームワークの機能の1つは、テストスーツをリモートでデプロイすることです。したがって、私はPythonWebページから作成したテストスーツを展開しようとしています。

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

私のコントローラーから、それで、テストが展開されたとき、私はそれを実行したいと思います。概念実証のために、私はそのようにしました。ただし、ジョブがデプロイされることも、コマンドラインが実行されることもありません。ターミナルからそのコードを実行すると、想定どおりに機能します。ここで何が欠けていますか?ありがとうございました

**私がls -lそれを実行するときに言及するのは不思議です...

4

1 に答える 1

0

基本的に、これは悪い考えです。ホストがサーバー上で実行することへのアクセスを拒否した場合 (結局のところ、コードに悪意がないことをどのように知るのでしょうか)、少なくともこれを回避する必要はありません。あなたのプロバイダーと話し、あなたがこれをしても大丈夫かどうか尋ねてください!

結局のところ、LS の実行は実際には悪意のあるものではありませんが、「rm -rf」という Python スクリプトを実行してみることはできます。

さて、あなたは回避策を見つけることができるかもしれませんが、私の考えでは、問題はあなたですか? 彼らはこれをハッキングの試みと解釈するかもしれません。

于 2013-02-28T01:50:48.490 に答える