天天看點

PHP 管理樹莓派

同學給過我一塊樹莓派,那會兒覺得挺新鮮的。但是每次使用都需要遠端桌面或者 ssh 進行登入,比較麻煩。後來為了友善管理,在樹莓派上安裝部署了 LAMP 環境,然後寫了一個簡單的 PHP 頁面,代碼如下:

<?php
    $cmd = isset($_GET['cmd']) && !empty($_GET['cmd']) ? $_GET['cmd'] : '';
?>

<html>
<head></head>
<body>
<div>
<form action="cmd.php" method="get">
    input cmd:<input type="text" name="cmd"/>
</form>
</div>
<div>
<pre>
<?php
    if ( $cmd != '' ) {
        echo shell_exec($cmd);
    }
?>
</pre>
</div>
</body>
</html>           

複制

代碼不長,通過一個 GET 方法,可以執行一些簡單的代碼。它其實類似一句話木馬,而且可以縮減到一句代碼:

<?php echo shell_exec($_GET['cmd']); ?>           

複制

這樣的話,直接通過浏覽器的位址欄寫入相應的指令即可,但是為了手機上也可以使用的友善,就增加了一個 input 框。

可以簡單的執行一些指令進行測試:

比如 ls 指令,可以顯示目前目錄下的檔案。但是在執行 cd / 指令,再執行 ls 指令時,無法看到根目錄下的檔案。因為每次執行指令相當于每次啟動一個新的 shell。那麼要檢視根目錄下的檔案,需要通過指令 ls / 來進行檢視,或者可以通過 cd / && ls 指令來檢視根目錄下的檔案。

該腳本可以在其他的 Linux 平台下運作,因為本身樹莓派使用的就是 Linux 作業系統的核心。