0

Windows XP Server で PHP システム コマンドを使用する C プログラムをコンパイルして実行しています。

C プログラムに System コマンドSystem("shutdown -a")やその他のシステム コマンドが含まれていると、システムが停止します。

この種のコマンドを拒否してほしい。プログラムがシステム コマンドを実行しようとしたときに、出力として "permission denied" を表示するにはどうすればよいですか?

これが私のコードです。

PHPスクリプトには次が含まれます-

system(gcc code.c -o out);    system(out.exe);

IF C プログラムに含まれる-

int main()     {      system("shutdown -r");   }

これらのコマンドの実行をブロックする方法はありますか?

4

2 に答える 2

0

わかりました、簡単な答えは「ルートとして実行しないでください」です(その場合、ユーザーは自分が作成したファイルにしかアクセスできないため、損害を与える可能性はあまりありません)

より洗練された答えは、コードの実行をサーバー内の仮想マシンにファームアウトすることです。仮想マシンは、テンプレート (または VM ソフトウェアがそのようなものと呼んでいるもの) からかなり短時間で複製できます。VM内では、そこで実行されているコードは、それが実行されている「実際の」マシンにアクセスできないため、ユーザーが自分の仮想マシンを破壊したい場合、それは彼/彼女の問題です-「新しい仮想マシンを要求するだけです。作業を続行する前に」。

于 2013-04-25T13:29:54.437 に答える