繁体   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