web-dev-qa-db-ja.com

PHPシェルを実行できません

単純なPHP Shellをサーバーにアップロードしましたが、コードを実行しようとすると、次のいずれかのエラーメッセージが表示されます。

警告:Shell_exec()は...の 'ls'を2行目で実行できません

警告:Shell_exec()は[ls]をfor ...でforkできません

コードの実行を許可しないフォルダー特権があると思います。どうすればそれを回避できますか?

「open_basedir制限が有効になっている」ので、私のシェルを実行する方法はありますか?

1
Manuel

PHP関数Shell_execforkシステムコールを呼び出して、lsの新しいプロセスを作成します。 forkの呼び出しは、いくつかのセキュリティポリシーによってブロックされているようです。

ブロックされたシステムコールを使用しないPHPコードは引き続き実行できます。そのため、lsを実行できない場合でも、次のようなコマンドを実行してファイルリストを取得できますこの:

<?php
    print_r(glob('*'));
?>
0
Sjoerd