PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : USER_AGENT wird nicht festgestellt...


kaepten
18.11.2005, 12:39:46
Hallo,

ich baue gerade an meiner Homepage und habe in dem Login-Script ein Logging...


// eigentlicher Inhalt der bei positivem einloggen angezeigt wird... //
function inhalt($user,$id)
{
session_start();

$_SESSION['user'] = $user;
$_SESSION['nummer'] = $id;
$Log_SQL = "INSERT INTO `Logging` (`Datum`,`Benutzer`,`Beschreibung`,`Typ`,`IP`,`Browser`) VALUES('". date("Y-m-d H:i:s") ."','". $_SESSION['user'] ."','--> hat sich eingeloggt ','1','".gethostbyaddr($_SERVER['REMOTE_ADDR'])."','".$HTTP_USER_AGENT."')";
mysql_query($Log_SQL);
header("location: http://www.kaepten.de/index2.php");
}


Nur: er stellt mir beim Login den Browser nicht fest... beim ausloggen aber schon! Woran liegt das... die Schreibweise der Befehle ist gleich...

kaepten

meikel (†)
18.11.2005, 13:07:26
Ersetze $HTTP_USER_AGENT durch $_SERVER["HTTP_USER_AGENT"]
Was soll das eigentlich?
gethostbyaddr($_SERVER['REMOTE_ADDR']) => IP
Im Handbuch steht:
gethostbyaddr -- Ermittelt den Internet-Host-Namen (z.B. www.example.com) passend zur angegebenen IP-Adresse (z.B. 192.0.34.72)

Außerdem ist das Speichern der IP sinnfrei, weil es kaum User gibt, die über eine feste IP verfügen. Bei einigen Providern ist es sogar so, daß sich die IP während der Onlinesession ändert (AOL). User (zB. Firmenmitarbeiter), die über einen NAT Router ins Netz gehen, haben dann alle dieselbe IP.

Näheres da nachlesen:
29.15. Warum verwendet PHP nicht die IP-Nummer des Browsers als Schutz gegen eine Übernahme der Session?
http://www.php-faq.de/q/q-sessions-ip.html

Opendix
18.11.2005, 13:10:13
versuchs mal mit $_SERVER['HTTP_USER_AGENT']

brr... da war wohl wer schneller *g*

kaepten
18.11.2005, 13:33:38
Also,

erstmal danke... das hat geholfen... :-)

Hier im Forum habe ich gefunden, das man mit get hosts... die IP bekommen kann...

Grundidee war eigentlich, das ich feststellen kann, wer auf meiner Seite ist...
Reichen würde hier schon die der Server oder so... ich dachte halt, IP ist auch gut ;-)

Gibt es denn was besseres?

meikel (†)
18.11.2005, 15:03:28
ich dachte halt, IP ist auch gut ;-)

Gibt es denn was besseres?
$_SERVER['REMOTE_ADDR'] liefert doch schon die IP. Allerdings eben nur die gerade gültige. Bei einem AOL User sogar bei jedem Klick eine neue IP.

kaepten
19.11.2005, 13:07:56
Also, ich habe jetzt alles umgestellt auf http_addr...

Kann ich mir dann mit dem gethostbyaddr mir den "Namen" des Providers mit dem man sich eingewählt hat ausgeben lassen? Das wäre ja schon mal besser wenn da "arcor" statt "IP..." steht...

Und noch eine Frage: Gibt es eine HP auf der man das "on demand" machen kann? IP eingeben und den Namen herausbekommen?

meikel (†)
19.11.2005, 20:40:24
Kann ich mir dann mit dem gethostbyaddr mir den "Namen" des Providers mit dem man sich eingewählt hat ausgeben lassen?
Nein. Diese Funktion ermittelt nur per DNS den Hostnamen der IP.

Wenn Du den Namen des Besitzers der IP rauskriegen willst, müßtest Du eine Whois Abfrage machen und Dir die Info aus der zurückgegebenen Textwüste rausklauben. Wenn es überhaupt eine Antwort gibt - nicht für jede IP gibt es eine revers Auflösung.

btw: es gab vor ein paar Jahren mal eine Datenbank, welche IP von deutschen Providern benutzt werden, aber die ist anscheinend kommerziell geworden.