您好,登錄后才能下訂單哦!
這篇文章主要介紹“PHP常用命令執(zhí)行函數是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“PHP常用命令執(zhí)行函數是什么”文章能幫助大家解決問題。
PHP命令執(zhí)行函數常配合代碼執(zhí)行漏洞使用, 利用命令執(zhí)行函數執(zhí)行操作系統(tǒng)命令, 從而發(fā)起攻擊, 接下來就簡單分享幾個常用的PHP命令執(zhí)行函數
system()函數可以執(zhí)行系統(tǒng)命令, 并將命令執(zhí)行的結果直接輸出到界面中, 使用時直接在參數中傳入需要執(zhí)行的命令即可
system('ls');
exec()函數可以執(zhí)行系統(tǒng)命令, 但它不會直接輸出結果, 而是將執(zhí)行的結果保存到數組中
exec( 'ls' , $result );
參數1: 字符串類型,需要執(zhí)行的系統(tǒng)命令
參數2: 數組類型,保存系統(tǒng)命令的執(zhí)行結果
print_r($result); //輸出執(zhí)行結果
shell_exec()函數可以執(zhí)行系統(tǒng)命令, 但它不會直接輸出執(zhí)行的結果, 而是返回一個字符串類型的變量來存儲系統(tǒng)命令的執(zhí)行結果, 在參數中傳遞需要執(zhí)行的系統(tǒng)命令即可
echo shell_exec('ls');
passthru()函數可以執(zhí)行系統(tǒng)命令, 并將執(zhí)行結果輸出到頁面中, 與system()函數不同的是, 它支持二進制的數據, 更多的用于文件, 圖片等操作, 使用時直接在參數中傳遞字符串類型的系統(tǒng)命令即可
passthru('ls');
popen()函數可以執(zhí)行系統(tǒng)命令, 但不會輸出執(zhí)行的結果, 而是返回一個資源類型的變量用來存儲系統(tǒng)命令的執(zhí)行結果, 需要配合fread()函數來讀取命令的執(zhí)行結果
$result = popen( 'ls' , 'r' );
參數1:字符串類型,需要執(zhí)行的命令
參數2:字符串類型,模式
返回值:資源類型,命令執(zhí)行的結果
echo fread( $result , 100 );
參數1:資源類型,需要讀取的文件指針
參數2:int類型,讀取n個字節(jié)
返回值:字符串類型,讀取的文件內容
echo fread(popen('ls','r'),100);
反引號可以執(zhí)行系統(tǒng)命令, 但它不會輸出結果, 而是返回一個字符串類型的變量, 用來存儲系統(tǒng)命令的執(zhí)行結果, 可單獨使用, 也可配合其他命令執(zhí)行函數使用來繞過參數中的過濾條件
echo `ls`;
關于“PHP常用命令執(zhí)行函數是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。