1
0

36 lines
1.1 KiB
PHP

<?php
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
function getIPv4() {
$ipv4 = '';
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ipv4 = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else if (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ipv4 = $_SERVER['HTTP_CLIENT_IP'];
} else {
$ipv4 = $_SERVER['REMOTE_ADDR'];
}
return filter_var($ipv4, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) ? $ipv4 : '';
}
function getIPv6() {
$ipv6 = '';
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
foreach ($ips as $ip) {
if (filter_var(trim($ip), FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
$ipv6 = trim($ip);
break;
}
}
} else if (isset($_SERVER['REMOTE_ADDR']) && filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
$ipv6 = $_SERVER['REMOTE_ADDR'];
}
return $ipv6;
}
echo json_encode([
'ipv4' => getIPv4(),
'ipv6' => getIPv6()
]);