用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

<?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

希望对你有帮助

客户端的ip变量:

$_SERVER['REMOTE_ADDR'] :客户端IP,也有可能是代理IP

$_SERVER['HTTP_CLIENT_IP']:代理端的IP,可能存在,也可能伪造

$_SERVER['HTTP_X_FORWARD_FOR'] :用户在哪个ip上使用的id,可能存在,也可能伪造

服务端的ip变量:

$_SERVER['SERVER_NAME'] :需要使用函数gethostname()来获得,这个无论是服务器端还是客户端都能正常显示。

$_SERVER['SERVER_ADDR']:服务器端的ip地址,在服务器端测试ip地址,在客户端测试正常

getnev 获得系统的环境变量:


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存