本文实例为大家分享了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程序设计有所帮助。