[英]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.