ip.zuim.de/include/ipinfo.php

53 lines
1.2 KiB
PHP
Raw Normal View History

2024-07-18 17:55:28 +02:00
<?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);
}
?>