Ergebnis 1 bis 3 von 3

Thema: Ip überprüfung

  1. #1
    Erfahrener Benutzer Avatar von FLash
    Registriert seit
    10.01.2008
    Beiträge
    122

    Ip überprüfung

    hab im netz ein kleines codeschnipsel gefunden das die ip adresse ein bisschen überprüft... hab das in mein stg_ip-check eingebaut.. praktisch ist auf jeden fall erstmal das ich die dns angezeigt bekomme..

    da es in anderen foren auch öffentlich zugänglich ist will ich es euch nicht vorenthalten.. ist bestimmt nützlich

    ihr müsst nur wissen was ihr damit anfängt

    PHP-Code:
    Gets the "true" IP address of the current user 

    * @return 
    string the ip of the user 
    */ 
    function 
    GetTrueIP() 

    global 
    $REMOTE_ADDR$HTTP_CLIENT_IP
    global 
    $HTTP_X_FORWARDED_FOR$HTTP_X_FORWARDED$HTTP_FORWARDED_FOR$HTTP_FORWARDED
    global 
    $HTTP_VIA$HTTP_X_COMING_FROM$HTTP_COMING_FROM

    // Get some server/environment variables values 
    if (empty($REMOTE_ADDR)) { 
    if (!empty(
    $_SERVER) && isset($_SERVER['REMOTE_ADDR'])) { 
    $REMOTE_ADDR $_SERVER['REMOTE_ADDR']; 

    else if (!empty(
    $_ENV) && isset($_ENV['REMOTE_ADDR'])) { 
    $REMOTE_ADDR $_ENV['REMOTE_ADDR']; 

    else if (@
    getenv('REMOTE_ADDR')) { 
    $REMOTE_ADDR getenv('REMOTE_ADDR'); 

    // end if 

    if (empty($HTTP_CLIENT_IP)) { 
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_CLIENT_IP'])) { 
    $HTTP_CLIENT_IP $_SERVER['HTTP_CLIENT_IP']; 

    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_CLIENT_IP'])) { 
    $HTTP_CLIENT_IP $_ENV['HTTP_CLIENT_IP']; 

    else if (@
    getenv('HTTP_CLIENT_IP')) { 
    $HTTP_CLIENT_IP getenv('HTTP_CLIENT_IP'); 

    // end if 

    if (empty($HTTP_X_FORWARDED_FOR)) { 
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
    $HTTP_X_FORWARDED_FOR $_SERVER['HTTP_X_FORWARDED_FOR']; 

    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_X_FORWARDED_FOR'])) { 
    $HTTP_X_FORWARDED_FOR $_ENV['HTTP_X_FORWARDED_FOR']; 

    else if (@
    getenv('HTTP_X_FORWARDED_FOR')) { 
    $HTTP_X_FORWARDED_FOR getenv('HTTP_X_FORWARDED_FOR'); 

    // end if 

    if (empty($HTTP_X_FORWARDED)) { 
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_X_FORWARDED'])) { 
    $HTTP_X_FORWARDED $_SERVER['HTTP_X_FORWARDED']; 

    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_X_FORWARDED'])) { 
    $HTTP_X_FORWARDED $_ENV['HTTP_X_FORWARDED']; 

    else if (@
    getenv('HTTP_X_FORWARDED')) { 
    $HTTP_X_FORWARDED getenv('HTTP_X_FORWARDED'); 

    // end if 

    if (empty($HTTP_FORWARDED_FOR)) { 
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_FORWARDED_FOR'])) { 
    $HTTP_FORWARDED_FOR $_SERVER['HTTP_FORWARDED_FOR']; 

    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_FORWARDED_FOR'])) { 
    $HTTP_FORWARDED_FOR $_ENV['HTTP_FORWARDED_FOR']; 

    else if (@
    getenv('HTTP_FORWARDED_FOR')) { 
    $HTTP_FORWARDED_FOR getenv('HTTP_FORWARDED_FOR'); 

    // end if 

    if (empty($HTTP_FORWARDED)) { 
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_FORWARDED'])) { 
    $HTTP_FORWARDED $_SERVER['HTTP_FORWARDED']; 

    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_FORWARDED'])) { 
    $HTTP_FORWARDED $_ENV['HTTP_FORWARDED']; 

    else if (@
    getenv('HTTP_FORWARDED')) { 
    $HTTP_FORWARDED getenv('HTTP_FORWARDED'); 

    // end if 

    if (empty($HTTP_VIA)) { 
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_VIA'])) { 
    $HTTP_VIA $_SERVER['HTTP_VIA']; 

    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_VIA'])) { 
    $HTTP_VIA $_ENV['HTTP_VIA']; 

    else if (@
    getenv('HTTP_VIA')) { 
    $HTTP_VIA getenv('HTTP_VIA'); 

    // end if 
    if (empty($HTTP_X_COMING_FROM)) { 
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_X_COMING_FROM'])) { 
    $HTTP_X_COMING_FROM $_SERVER['HTTP_X_COMING_FROM']; 

    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_X_COMING_FROM'])) { 
    $HTTP_X_COMING_FROM $_ENV['HTTP_X_COMING_FROM']; 

    else if (@
    getenv('HTTP_X_COMING_FROM')) { 
    $HTTP_X_COMING_FROM getenv('HTTP_X_COMING_FROM'); 

    // end if 
    if (empty($HTTP_COMING_FROM)) { 
    if (!empty(
    $_SERVER) && isset($_SERVER['HTTP_COMING_FROM'])) { 
    $HTTP_COMING_FROM $_SERVER['HTTP_COMING_FROM']; 

    else if (!empty(
    $_ENV) && isset($_ENV['HTTP_COMING_FROM'])) { 
    $HTTP_COMING_FROM $_ENV['HTTP_COMING_FROM']; 

    else if (@
    getenv('HTTP_COMING_FROM')) { 
    $HTTP_COMING_FROM getenv('HTTP_COMING_FROM'); 

    // end if 

    // Gets the default ip sent by the user 
    if (!empty($REMOTE_ADDR)) { 
    $direct_ip $REMOTE_ADDR


    // Gets the proxy ip sent by the user 
    $proxy_ip ''
    if (!empty(
    $HTTP_X_FORWARDED_FOR)) { 
    $proxy_ip $HTTP_X_FORWARDED_FOR
    } else if (!empty(
    $HTTP_X_FORWARDED)) { 
    $proxy_ip $HTTP_X_FORWARDED
    } else if (!empty(
    $HTTP_FORWARDED_FOR)) { 
    $proxy_ip $HTTP_FORWARDED_FOR
    } else if (!empty(
    $HTTP_FORWARDED)) { 
    $proxy_ip $HTTP_FORWARDED
    } else if (!empty(
    $HTTP_VIA)) { 
    $proxy_ip $HTTP_VIA
    } else if (!empty(
    $HTTP_X_COMING_FROM)) { 
    $proxy_ip $HTTP_X_COMING_FROM
    } else if (!empty(
    $HTTP_COMING_FROM)) { 
    $proxy_ip $HTTP_COMING_FROM
    // end if... else if... 

    // Returns the true IP if it has been found, else ... 
    if (empty($proxy_ip)) { 
    // True IP without proxy 
    return $direct_ip
    } else { 
    $is_ip ereg('^([0-9]{1,3}.){3,3}[0-9]{1,3}'$proxy_ip$regs); 

    if (
    $is_ip && (count($regs) > 0)) { 
    // True IP behind a proxy 
    return $regs[0]; 
    } else { 

    if (empty(
    $HTTP_CLIENT_IP)) { 
    // Can't define IP: there is a proxy but we don't have 
    // information about the true IP 
    return "(unbekannt) " $proxy_ip
    } else { 
    // better than nothing 
    return $HTTP_CLIENT_IP


    // end if... else... 
    // end of function 

    $ip substr(getenv("REMOTE_ADDR"), 014); 
    $true_ip GetTrueIP(); 
    $dns = @gethostbyaddr($ip); 
    $true_dns = @gethostbyaddr($true_ip); 

  2. #2
    Erfahrener Benutzer Avatar von SebbyPHM
    Registriert seit
    17.07.2006
    Beiträge
    844
    "Eigentlich" ganz praktisch der Schnipsel, jedoch wird dann manchmal die lokale Netzwerk-IP genommen.

    Dafür muss man noch die privaten IP-Netze 10/24, 172.16/12 und 192.168/16 ausschließen.
    Mit freundlichem Gruß
    SebbyPHM




  3. #3
    Erfahrener Benutzer Avatar von FLash
    Registriert seit
    10.01.2008
    Beiträge
    122
    ja das könnte sein... werd sie bei mir ausschliessen.. kann das alles leider nicht veröffentlichen da ich es im addon eingebaut habe..

    habe mir da ein kleines script noch dazugeschrieben das mir die beiden ip´s vergleicht..(auch auf der basis des addons) bis jetzt ist noch keiner aufgefallen... hehe.. aber bald kommt der typ der keine ip hinterlässt

    Edit: scheint zu funktionieren.. hat mir einen proxy angezeigt

Ähnliche Themen

  1. Überprüfung meiner Seite
    Von denniskkk im Forum [HD] Programmieren
    Antworten: 1
    Letzter Beitrag: 19.11.2009, 16:57
  2. plopp Schnippsel Auszahlung Überprüfung
    Von napfkuchen im Forum Support zum VMSone
    Antworten: 14
    Letzter Beitrag: 01.11.2008, 20:00
  3. Antworten: 2
    Letzter Beitrag: 27.02.2008, 17:14

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •