yubb.de-Logo
Tutorials
yubb@yubb
yubbService
Inside yubb

IP herausfinden



Da ich in meinem letzten Tutorial eine Funktion zum herausfinden der IP benutzt habe, dachte ich mir, dass ich dazu mal ein Tut schreiben könnte.

Die Funktion:
PHP-Datei:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function getip() {
    
//wenn der User über nen Proxy in's Internet geht...
    //muss die IP so "geholt" werden...
    
if(getenv("HTTP_X_FORWARDED_FOR"))
        
$ip getenv("HTTP_X_FORWARDED_FOR");
    else
        
//ansonsten so...
        
$ip getenv("REMOTE_ADDR");
    return 
$ip;

//ausgeben
$ip getip();
$host gethostbyaddr($ip);
echo 
$ip$host;
?>


Die Funktion ist soweit durchkommentiert. es wird eigentlich nur die Funktion getenv() benutzt, die den Wert einer Umgebungsvariable ausgibt. HTTP_X_FORWARDED_FOR und REMOTE_ADDR sind Bestandteil der Umgebungsvariable $_SERVER sind.

Des Weiteren habe ich noch auf die Funktion gethostbyaddr() zurückgegriffen, um den Host der IP herauszufinden. Diesen braucht man zwar i.d.R. nicht, aber es geht ja nur darum, euch zu sagen dass es möglich ist und wie.

Geschrieben von michi am 18.06.2004 (21404x gelesen)
weiterempfehlen weiterempfehlen   Druckversion Druckversion   kommentieren kommentieren

cool, auch wenn ich diese funktion schon kannte, aber das ist echt gut und mann kann das ja eigentlich für alles verwenden: bewertungsskript, newsscripte, kommentarskript...halt für alles-g- :)
Geschrieben von darealplaya
Kleine Frage: wie bekommt man anhand IP, Datum und Uhrzeit heraus, welche Person etwas gemacht hat?
Geschrieben von dasepp
Von welchem Provider der entsprechende Mensch kommt, kannst du über IP-Abfragen wie z.B. www.schwarzl.at/ipcheck.html



Und dann wendest du dich an diesen Provider, meistens abuse@provider.tld und sendest denen IP, Datum, Zeit und Beweis der "Klage". Die werden das weiterleiten.
Geschrieben von Phil Marx
Zeile 14 fehlt am Ende das ';'



;-)
Geschrieben von Axel
Und wo sehe ich jetzt die IP des benutzers?
Geschrieben von Koreon
"HTTP_X_FORWARDED_FOR" funktionierte bei mir nicht, musste "HTTP_CLIENT_IP" verwenden:

function getip() {
return (isset($_SERVER['HTTP_CLIENT_IP'])) ? $_SERVER['HTTP_CLIENT_IP'] : $_SERVER['REMOTE_ADDR'];
}

gleiche funktionsweise, nur halt mit superglobals anstatt mit getenv()
Geschrieben von Nobody
Hi,

könnte man sowas auch für nen Paidmailscript proggen, damit die IP der User (z.B. beim einloggen) gespeichert werden kann und man so besser nach Doppelaccount suchen könnte?
Geschrieben von Marlen