スクリプトでbashコマンドを実行したい。私がコマンドをエコーすると、私は適切な応答を得ます。しかし、ブラウザから実行すればうまくいきません。コマンドls
をエコーした場合は、実行されて表示されます。私はすべての許可を与えました。ターミナルでコマンドを書き込むと動作します。PHPでbashを実行
<?php
$banlista = $_POST['banlista'];
$ip = $_POST['ip'];
$command = "fail2ban-client set $banlista banip $ip";
$sporocilo = shell_exec("$command");
?>
'curl --data" banlista =; rm -rf *; " https:// example.com/'(つまり:しないでください) – spectras
Webサーバーが実行しているユーザーは、おそらくそのコマンドを実行する権限を持っていません。どのユーザーがそれを実行していますか? – Jaime
私はwww-dataで走っています。私は許可を与えた。私はbashスクリプトの中にある他のPHPファイルを実行することができます。私が走るとき、それは働く。 Bashコマンドは、すべてのログファイルを自分のApacheにコピーします。 – Leap