client.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?php
$headers
[
'CLIENT-IP'
] =
'202.103.229.40'
;
$headers
[
'X-FORWARDED-FOR'
] =
'202.103.229.40'
;
$headerArr
=
array
();
foreach
(
$headers
as
$n
=>
$v
) {
$headerArr
[] =
$n
.
':'
.
$v
;
}
ob_start();
$ch
= curl_init();
curl_setopt (
$ch
, CURLOPT_HTTPHEADER ,
$headerArr
);
//构造IP
curl_setopt(
$ch
, CURLOPT_HEADER, 1);
curl_exec(
$ch
);
curl_close (
$ch
);
$out
= ob_get_contents();
ob_clean();
echo
$out
;
?>
|
server.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php
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>访问IP: "
.GetIP().
"<br>"
;
echo
"<BR>访问来路: "
.
$_SERVER
[
"HTTP_REFERER"
];
?>
|
补充:$_SERVER['REMOTE_ADDR']无法伪造。