簡體   English   中英

PHP執行SH文件

[英]php execute sh file

我試圖通過帶參數的PHP啟動sh文件,但是我根本無法正常工作:

<?php
$ip = $_GET['ip'];
$port = $_GET['port'];

echo shell_exec('sh var/www/html/Grant73565/Grant.sh $ip $port')or die("bash didn't work");
echo('Sent!');
?>

通過ssh手動運行文件可以正常工作,例如:

./Grant.sh 127.0.0.1 80

但是在php中,它只是回顯“ Bash無效”。

據我所知,這與參數無關,因為沒有參數就不會啟動文件。

如果要包含變量,則需要使用雙引號。

echo shell_exec("sh var/www/html/Grant73565/Grant.sh $ip $port") or die("bash didn't work");

使用您當前的代碼,任何人都可以更改http查詢並在您的服務器上執行任何操作。 這是一個主要的安全漏洞。

解決方案是驗證輸入。 端口將始終為數字,因此很簡單。 您可以使用正則表達式來驗證IP地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM