欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解PHP中如何執(zhí)行系統(tǒng)命令

 更新時(shí)間:2023年12月22日 10:40:20   作者:d0ublewei?大伯為安全  
這篇文章主要為大家介紹了PHP中如何執(zhí)行系統(tǒng)命令示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

常見(jiàn)方法

使用反引號(hào)執(zhí)行

 <?php
 $result = `ipconfig`;
 $result = iconv('GBK', 'utf-8', $result);
 echo $result;
 ?>

使用 exec

<?php
 $result = exec("ipconfig");
 echo $result;
 ?>

使用 system

<?php
 $result = system("ipconfig");
 echo $result;
 ?>

Windows

讀取外部普通文件時(shí)

 <?php
 echo (file_get_contents('D:/a.csv'));
 ?>

注意:直接讀取即可。

執(zhí)行系統(tǒng)命令

 <?php
 echo `net start ToDesk_Service`;
 ?>

注意:需要管理員權(quán)限或者管理員授權(quán)才可以執(zhí)行。

Linux

Apache

讀取外部普通文件時(shí)

讀取防火墻文件,文件有 r 權(quán)限,每級(jí)目錄都有 rx 權(quán)限即可。

<?php
 echo (file_get_contents('/etc/firewalld/zones/public.xml'));
 ?>

執(zhí)行系統(tǒng)命令時(shí)

執(zhí)行關(guān)閉防火墻命令(寫(xiě)一段 PHP 代碼,并通過(guò)瀏覽器訪問(wèn)此頁(yè)面)。

 <?php
 echo `sudo systemctl stop firewalld`;   // 關(guān)閉失敗
 ?>

找到關(guān)于此命令的位置。

 whereis systemctl       # 發(fā)現(xiàn)位置在 /usr/bin/systemctl 

查看目錄權(quán)限,發(fā)現(xiàn)每級(jí)目錄都有 rx 權(quán)限,但依然無(wú)法執(zhí)行。

 ll /usr/bin/ | grep systemctl
 ll /usr/ | grep bin
 ll / | grep usr

解決

使用 root 管理員用戶

查看 apache 默認(rèn)用戶(寫(xiě)一段 PHP 代碼,并通過(guò)瀏覽器訪問(wèn)此頁(yè)面)。

 <?php
 echo 'whoami';      // 顯示默認(rèn)用戶為 daemon
 ?>

嘗試改成 root 用戶

 cd /opt/lampp/etc   # 切換到 /opt/lampp/etc/ 目錄
 vi httpd.conf       # 編輯 httpd.conf 文件
     /User       # 找到 User
     User root       # 改成 root 用戶
     Group root      # 改成 root 組

重啟 lampp

 /opt/lampp/lampp restart    # 發(fā)現(xiàn)啟動(dòng)失敗

xampp 集成環(huán)境為了安全性考慮不能改成 root 用戶訪問(wèn)。

將命令的執(zhí)行權(quán)限賦予給 xampp(Apache)對(duì)應(yīng)的用戶。最后執(zhí)行關(guān)閉防火墻命令,即可成功。

 vi /etc/sudoers 或 visudo  # 編輯 /etc/sudoers
 按 G  # 將光標(biāo)移動(dòng)到最后一行
 按 i ,添加 daemon ALL=(ALL) NOPASSWD:ALL 或 daemon ALL=(ALL) NOPASSWD:/usr/bin/systemctl,/usr/bin/firewall-cmd  # 添加授權(quán)指令
 # 含義:給哪個(gè)用戶授權(quán) 允許哪個(gè)主機(jī)訪問(wèn)=模擬哪個(gè)賬號(hào)執(zhí)行命令 不要求輸入密碼:允許執(zhí)行的命令路徑
圖片

以上就是PHP中如何執(zhí)行系統(tǒng)命令的詳細(xì)內(nèi)容,更多關(guān)于PHP執(zhí)行系統(tǒng)命令的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論