53 lines
1.2 KiB
PHP
53 lines
1.2 KiB
PHP
|
<?php
|
||
|
require_once("config.php");
|
||
|
|
||
|
$ip = array();
|
||
|
|
||
|
$ip["host"] = rtrim($_SERVER['HTTP_HOST'], '.');
|
||
|
$ip["ip"] = str_replace("::ffff:", "", $_SERVER['REMOTE_ADDR']);
|
||
|
$ip["proxyIp"] = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : "";
|
||
|
//$ip["clientIp"] = isset($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_CLIENT_IP'] : "";
|
||
|
|
||
|
switch($ip["host"])
|
||
|
{
|
||
|
case $config["namev4"]:
|
||
|
case $config["ipv4"]:
|
||
|
$ip["name"] = "IPv4";
|
||
|
$ip["conHostType"] = 0;
|
||
|
break;
|
||
|
case $config["nameDS"]:
|
||
|
$ip["name"] = "Dualstack";
|
||
|
$ip["conHostType"] = 1;
|
||
|
break;
|
||
|
case $config["namev6"]:
|
||
|
case "[".$config["ipv6"]."]":
|
||
|
$ip["name"] = "IPv6";
|
||
|
$ip["conHostType"] = 2;
|
||
|
break;
|
||
|
default:
|
||
|
$ip["name"] = "unknown";
|
||
|
$ip["conHostType"] = -1;
|
||
|
}
|
||
|
|
||
|
if(strpos($ip["ip"],".") !== FALSE){
|
||
|
$ip["conClientType"] = 0;
|
||
|
}
|
||
|
else if(strpos($ip["ip"],":") !== FALSE){
|
||
|
$ip["conClientType"] = 2;
|
||
|
}
|
||
|
else{
|
||
|
$ip["conClientType"] = -1;
|
||
|
}
|
||
|
|
||
|
$ip["geoIp"] = array();
|
||
|
$ip["geoIp"]["Land"] = $_SERVER["GEOIP_COUNTRY_NAME"];
|
||
|
$ip["geoIp"]["Bundesland"] = $_SERVER["GEOIP_SUBDIVISION"];
|
||
|
$ip["geoIp"]["Stadt"] = $_SERVER["GEOIP_CITY_NAME"];
|
||
|
$ip["geoIp"]["PLZ"] = $_SERVER["GEOIP_POSTAL_CODE"];
|
||
|
$ip["geoIp"]["ISP"] = $_SERVER["GEOIP_ASN"];
|
||
|
|
||
|
if(!isset($NO_JSON_OUT)) {
|
||
|
echo json_encode($ip);
|
||
|
}
|
||
|
?>
|