PHP获取客户端和服务器端IP(转)

客户端的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 获得系统的环境变量:

例子:

<?php
class getIp(){
     function ClientIp(){
    $cIP= getenv($_SERVER['REMOTE_ADDR']);
    $cIP1 = getenv($_SERVER['HTTP_X_FORWORD_FOR']);
    $cIP2 = getenv($_SERVER['HTTP_CLIENT_IP']);
   $cIP1?$cIP= $cIP1?null;
    $cIP2?$cIP = $cIP2?null;
   return $cIP;
}
     function serverIP(){
       return gethostbyname($_SERVER['SERVER_NAME']);
}
}
$getIP  = new getIP();  
$clientIp = getIP::clientIP();  
$serverIp = getIP::serverIP();  
     
 
?>

  

转载于:https://www.cnblogs.com/qichao123/p/7729836.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值