|
|
发表于
2023-2-17 20:53:28
|
显示全部楼层
来自 河北
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods:POST,GET");
header("Access-Control-Allow-Headers:x-requested-with,content-type");
/**
* 获取用户真实 IP
*/
function get_real_ip()
{
static $realip;
if (isset($_SERVER)) {
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")) {
$realip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;
}
function get_full_ip()
{
if (isset($_SERVER)) {
$getMethod = "server";
$str_a = $_SERVER["HTTP_X_FORWARDED_FOR"];
$str_b = $_SERVER["HTTP_CLIENT_IP"];
$str_c = $_SERVER["REMOTE_ADDR"];
} else {
$getMethod = "getenv";
$str_a = getenv("HTTP_X_FORWARDED_FOR");
$str_b = getenv("HTTP_CLIENT_IP");
$str_c = getenv("REMOTE_ADDR");
}
$realip = json_encode(
array(
'getMethod' => $getMethod,
'HTTP_X_FORWARDED_FOR' => $str_a == null ? "" : $str_a,
'HTTP_CLIENT_IP' => $str_b == null ? "" : $str_b,
'REMOTE_ADDR' => $str_c == null ? "" : $str_c,
),
JSON_UNESCAPED_UNICODE
);
return $realip;
}
if (isset($_GET["all"])) {
$ip_str = get_full_ip();
} else {
$ip_str = get_real_ip();
}
echo $ip_str;
|
|