簡體   English   中英

使用PHP更改Apache服務器的IP地址

[英]Changing ip address of apache server using php

我試圖創建一個設置頁面(針對客戶端),在其中他們可以查看當前的注冊地址,更改IP地址等。我有一個php文件來查看IP地址

 <?php
  $res=shell_exec("ifconfig");
  echo $res;
 ?>

該代碼可以正常工作並顯示預期結果。 但是,更改服務器IP地址的代碼無法正常工作。

 <?php
 shell_exec("ifconfig eth0 192.168.163.136");
 ?>

運行此代碼后,當我使用ipaddr檢查終端上的ipaddress時,我看不到ipaddress的任何更改。 請指出我要去哪里錯了。 我認為這是apache不能成為超級/ root用戶的問題。 如果是這種情況,我不知道如何以root用戶身份運行apache。

您的PHP腳本沒有足夠的特權來更改接口地址。 您可能要編寫一個Shellscript,為其賦予適當的特權(例如,將其所有者更改為root,並設置suid位),然后從您的PHP腳本運行它。 但是,我建議不要這樣做

IP地址是在網絡協議網絡層中配置的,而不是在運行PHP的應用程序層中配置的。 簡單地說 ,PHP無法訪問它,因此無法更改它們。

試想一下,如果可能的話,它可能造成的漏洞。

在ifconfig起作用之前添加/srv/http 它所需要的只是擁有根的位置。

暫無
暫無

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

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