/**
* 真实IP
* @return string 用户IP
*/
class Test
{
public function realip()
{
foreach (array(‘HTTP_X_REAL_FORWARDED_FOR’, ‘HTTP_X_FORWARDED_FOR’, ‘HTTP_CLIENT_IP’, ‘REMOTE_ADDR’) as
v1)if(isset($SERVER[$v1]))$tIP=($tPos=strpos($SERVER[$v1],‘,′))?substr($SERVER[$v1],0,$tPos):$SERVER[$v1];break;if($tIP=getenv($v1))$tIP=($tPos=strpos($tIP,′,′))?substr($tIP,0,$tPos):$tIP;break;return
v
1
)
i
f
(
i
s
s
e
t
(
$
S
E
R
V
E
R
[
$
v
1
]
)
)
$
t
I
P
=
(
$
t
P
o
s
=
s
t
r
p
o
s
(
$
S
E
R
V
E
R
[
$
v
1
]
,
‘
,
′
)
)
?
s
u
b
s
t
r
(
$
S
E
R
V
E
R
[
$
v
1
]
,
0
,
$
t
P
o
s
)
:
$
S
E
R
V
E
R
[
$
v
1
]
;
b
r
e
a
k
;
i
f
(
$
t
I
P
=
g
e
t
e
n
v
(
$
v
1
)
)
$
t
I
P
=
(
$
t
P
o
s
=
s
t
r
p
o
s
(
$
t
I
P
,
′
,
′
)
)
?
s
u
b
s
t
r
(
$
t
I
P
,
0
,
$
t
P
o
s
)
:
$
t
I
P
;
b
r
e
a
k
;
r
e
t
u
r
n
tIP;
}
}
test=newTest();echo
t
e
s
t
=
n
e
w
T
e
s
t
(
)
;
e
c
h
o
test->realip();