我正在使用 PHP 的 exec 函數(shù)來(lái)執(zhí)行 bash 腳本。<?php if(isset($_POST['submit'])) { $input = $_POST['submit']; exec("sudo -u root sh /var/www/html/script.sh '$input'"); }?><form action="" method="POST"><input type="text" name="submit" value=""></form>如您所見,exec 命令依賴于用戶輸入。當(dāng)用戶的輸入只有一個(gè)詞時(shí),一切正常,bash 腳本接收輸入。但是,當(dāng)用戶輸入多個(gè)單詞時(shí),PHP 不會(huì)運(yùn)行 exec 命令。當(dāng)從命令行運(yùn)行時(shí),PHP 正在執(zhí)行的完全相同的命令在多個(gè)單詞的情況下工作得非常好,所以這絕對(duì)是 PHP 的問題。
當(dāng)用戶輸入是多個(gè)單詞時(shí),PHP 不執(zhí)行 bash 腳本
慕碼人8056858
2021-11-26 18:03:55