客户端的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 获得系统的环境变量:
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?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();
?>
|