分享PHP获取客户端IP的几种不同方式

分享PHP获取客户端IP的几种不同方式

PHP获取IP的方法有许多种,我们今天向大家总结了六种方法,希望通过对这六种方法的学习,能够加深我们对PHP语言的进一步了解,巩固我们所掌握的知识。

PHP获取IP方法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
function GetIP()   
{   
if (! empty ( $_SERVER [ "HTTP_CLIENT_IP" ]))   
   $cip = $_SERVER [ "HTTP_CLIENT_IP" ];   
else if (! empty ( $_SERVER [ "HTTP_X_FORWARDED_FOR" ]))   
   $cip = $_SERVER [ "HTTP_X_FORWARDED_FOR" ];   
else if (! empty ( $_SERVER [ "REMOTE_ADDR" ]))   
   $cip = $_SERVER [ "REMOTE_ADDR" ];   
else
   $cip = "无法获取!" ;   
return $cip ;   
}   
echo "<br>" ;

PHP获取IP方法二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
error_reporting (E_ERROR | E_WARNING | E_PARSE);  
if ( $HTTP_SERVER_VARS [ "HTTP_X_FORWARDED_FOR" ])   
{                                                
       $ip = $HTTP_SERVER_VARS [ "HTTP_X_FORWARDED_FOR" ];  
              
}                                                
elseif ( $HTTP_SERVER_VARS [ "HTTP_CLIENT_IP" ])      
{                                                
       $ip = $HTTP_SERVER_VARS [ "HTTP_CLIENT_IP" ];  
                 
}                                                
elseif ( $HTTP_SERVER_VARS [ "REMOTE_ADDR" ])         
{                                                
       $ip = $HTTP_SERVER_VARS [ "REMOTE_ADDR" ];    
                    
}                                                
elseif ( getenv ( "HTTP_X_FORWARDED_FOR" ))            
{                                                
       $ip = getenv ( "HTTP_X_FORWARDED_FOR" );    
                       
}                                                
elseif ( getenv ( "HTTP_CLIENT_IP" ))                  
{                                                
       $ip = getenv ( "HTTP_CLIENT_IP" );    
                             
}            
                                         
elseif ( getenv ( "REMOTE_ADDR" ))                     
{                                                
       $ip = getenv ( "REMOTE_ADDR" );   
                                
}         
                                            
else                                      
{                                                
       $ip = "Unknown" ;      
                                         
}                                                
echo "你的IP地址是:" . $ip . "<br>" ;

PHP获取IP方法三:

1
2
3
$iipp = $_SERVER [ "REMOTE_ADDR" ];  
echo $iipp ;  
echo "<br>" ;

PHP获取IP方法四:

1
2
3
$user_IP = ( $_SERVER [ "HTTP_VIA" ]) ? $_SERVER [ "HTTP_X_FORWARDED_FOR" ] : $_SERVER [ "REMOTE_ADDR" ];  
$user_IP = ( $user_IP ) ? $user_IP : $_SERVER [ "REMOTE_ADDR" ];  
echo $user_IP . "<br>" ;

PHP获取IP方法五:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function get_real_ip()  
{  
       $ip =false;  
       if (! empty ( $_SERVER [ "HTTP_CLIENT_IP" ]))  
       {  
            $ip = $_SERVER [ "HTTP_CLIENT_IP" ];  
       }  
       if (! empty ( $_SERVER [ 'HTTP_X_FORWARDED_FOR' ]))  
       {  
            $ips = explode ( ", " , $_SERVER [ 'HTTP_X_FORWARDED_FOR' ]);  
            if ( $ip )  
            {  
                     array_unshift ( $ips , $ip ); $ip = FALSE;  
            }  
            for ( $i = 0; $i < count ( $ips ); $i ++)  
            {  
                     if (! eregi ( "^(10|172\.16|192\.168)\." , $ips [ $i ]))  
                     {  
                               $ip = $ips [ $i ];  
                               break ;  
                     }  
            }  
       }  
       return ( $ip ? $ip : $_SERVER [ 'REMOTE_ADDR' ]);  
}  
echo get_real_ip();  
echo "<br>" ;

PHP获取IP方法六:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if ( getenv ( 'HTTP_CLIENT_IP' ))  
{  
       $onlineip = getenv ( 'HTTP_CLIENT_IP' );  
}  
elseif ( getenv ( 'HTTP_X_FORWARDED_FOR' ))  
{  
       $onlineip = getenv ( 'HTTP_X_FORWARDED_FOR' );  
}  
elseif ( getenv ( 'REMOTE_ADDR' ))  
{  
       $onlineip = getenv ( 'REMOTE_ADDR' );  
}  
else
{  
       $onlineip = $HTTP_SERVER_VARS [ 'REMOTE_ADDR' ];  
}  
echo $onlineip ;  
echo "<br>" ;

你可能感兴趣的:(PHP)