本文实例为大家分享了5种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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
<?php //方法1:
$ip = $_SERVER [ "REMOTE_ADDR" ];
echo $ip ;
//方法2:
$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 ;
//方法3:
function getRealIp()
{
$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 getRealIp();
//方法4:
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 ;
//方法5:
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 ;
|
以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。