用php来获得客户端服务器ip的方法

用php来获得客户端服务器ip的方法,第1张

<?php

echo

"当前脚本服务器的主机名:".gethostbyaddr($_SERVER['REMOTE_ADDR'])."<br

/><hr

/>"

echo

"获得当前运行PHP脚本(页面)所在的服务器的

IP

地址:".$_SERVER['SERVER_ADDR']."<br

/><hr

/>"

echo

"获得当前运行PHP脚本(页面)所在的服务器的

主机名:".$_SERVER['SERVER_NAME']

echo

'<hr>'

echo

'客户端ip'.

$_SERVER['REMOTE_ADDR']

echo

'<br>'

echo

'客户端ip'.getenv('REMOTE_ADDR')

echo

"<br>"

echo

'服务器主机ip'.gethostbyname("www.qq.com")

?>

运行出来:

当前脚本服务器的主机名:XYL-PC

获得当前运行PHP脚本(页面)所在的服务器的

IP

地址:127.0.0.1

获得当前运行PHP脚本(页面)所在的服务器的

主机名:localhost

客户端ip127.0.0.1

客户端ip127.0.0.1

服务器主机ip61.135.169.105

1.确认执行该PHP脚本的系统具备修改服务器IP/子网掩码/网关的权限.

2.确认你的PHP运行执行shell_exec的函数,这个函数在安全模式下是被屏蔽的.

3.确认你在shell_exec里面执行的系统命令行是正确的.

简单的例子:

$

vi

test.php

#!/usr/bin/php

<?php

$rsl

=

shell_exec("fconfig

eth0

192.168.1.2

netmask

255.255.255.0")

//改ip和子网掩码的.

$rsl2

=

shell_exec("route

add

default

gw

192.168.1.1")

//设置网关

echo

$rsl."\n".$rsl2//看看返回的结果.

?>

$

chmod

755

test.php

--

给脚本增加执行的权限

$

./test.php

参考其他函数:

exec()

system()

等等.

windows下怎么做?

我又没钱买windows我怎么知道!

<?php

function getIp()

{

    $IPaddress=''

    if (isset($_SERVER)){

        if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){

            $IPaddress = $_SERVER["HTTP_X_FORWARDED_FOR"]

        } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {

            $IPaddress = $_SERVER["HTTP_CLIENT_IP"]

        } else {

            $IPaddress = $_SERVER["REMOTE_ADDR"]

        }

    } else {

        if (getenv("HTTP_X_FORWARDED_FOR")){

            $IPaddress = getenv("HTTP_X_FORWARDED_FOR")

        } else if (getenv("HTTP_CLIENT_IP")) {

            $IPaddress = getenv("HTTP_CLIENT_IP")

        } else {

            $IPaddress = getenv("REMOTE_ADDR")

        }

    }

    return $IPaddress

}

echo getIp()//就可以输出用户的IP地址。

?>

获取服务器端ip地址

<?php

function serverIp(){    

    if(isset($_SERVER)){    

        if($_SERVER['SERVER_ADDR']){    

 $server_ip=$_SERVER['SERVER_ADDR']    

            }else{    

               $server_ip=$_SERVER['LOCAL_ADDR']    

           }    

      }else{    

          $server_ip = getenv('SERVER_ADDR')    

    }    

      return $server_ip    

   }    

        

 echo serverIp()   

 ?>

此方法在本地不可用。需要上传至服务器

如果在本地使用此方法   打印出来的是127.0.0.1

希望对你有帮助


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/653869.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-23
下一篇2023-07-23

发表评论

登录后才能评论

评论列表(0条)

    保存