//獲取客戶端ip
if
(
getenv
(
"HTTP_CLIENT_IP"
))
$ip
=
getenv
(
"HTTP_CLIENT_IP"
);
else
if
(
getenv
(
"HTTP_X_FORWARDED_FOR"
))
$ip
=
getenv
(
"HTTP_X_FORWARDED_FOR"
);
else
if
(
getenv
(
"REMOTE_ADDR"
))
$ip
=
getenv
(
"REMOTE_ADDR"
);
else
$ip
=
"Unknow"
;
$ALLOWED_IP
=
array
(
'10.144.39.132'
);
//允許訪問的ip
$check_ip_arr
=
explode
(
'.'
,
$ip
);
//ip參數拆分成數組
if
(!in_array(
$ip
,
$ALLOWED_IP
)) {
$bl
=false;
foreach
(
$ALLOWED_IP
as
$val
){
if
(
strpos
(
$val
,
'*'
)!==false){
//發現有*號替代符
$arr
=
array
();
$arr
=
explode
(
'.'
,
$val
);
$bl
=true;
//用於記錄循環檢測中是否有匹配成功的
for
(
$i
=0;
$i
<4;
$i
++){
if
(
$arr
[
$i
]!=
'*'
){
//不等於* 就要進來檢測,如果爲*符號替代符就不檢查
if
(
$arr
[
$i
]!=
$check_ip_arr
[
$i
]){
$bl
=false;
break
;
//終止檢查本個ip 繼續檢查下一個ip
}
}
}
//end for
if
(
$bl
){
//如果是true則終止匹配
break
;
}
}
}
//end foreach
if
(!
$bl
){
$return
=
array
(
'status'
=>2,
'msg'
=>
'該IP無權限訪問'
,
'data'
=>
$ip
);
echo
json_encode(
$return
);
exit
();
}
}