Systemonformationen: Design überarbeitet, Neue Infos & besseres IP-Widget
This commit is contained in:
36
sys_info/get_ip.php
Normal file
36
sys_info/get_ip.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?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()
|
||||
]);
|
Reference in New Issue
Block a user