Benutzer eindeutig identifizieren

Um einen Benutzer eindeutig identifizieren zu können, kann man man sich das Superglobale Array $_SERVER zunutze machen.

Folgende Werte sind für uns interessant:

  • $_SERVER[„REMOTE_ADDR“]
  • $_SERVER[„HTTP_USER_AGENT“]
  • $_SERVER[„REMOTE_PORT“]

Will man einen eindeutigen Hash erzeugen, kann man folgendes Beispiel anwenden:

$hash = sha1($_SERVER["REMOTE_ADDR"]."-".$_SERVER["HTTP_USER_AGENT"]."-".$_SERVER["REMOTE_PORT"]);

echo "Du hast den Hash".$hash;

Was bringt das?
Man kann mit diesem Hash z.B. verhindern, dass ein Benutzer von einem PC aus mehrere Beiträge in einem Gästebuch schreibt. Natürlich kann es einfach den Browser wechseln oder den Router neustarten, aber das dürfte den meisten zu viel Aufwand sein.

Wie?
Den String einfach in eine Datenbank speichern und dann immer prüfen, ob er schon in der DB existiert. Wenn ja, dann Zugriff verweigern.

Geht auch md5?
Ja, auch md5 geht. Der Hash von MD5 ist halt kürzer und somit wird die Wahrscheinlichkeit von Kollisionen größer.

1 Star2 Stars3 Stars4 Stars5 Stars (1 Stimme, durchschnittlich 1,00 / 5)
Loading...


4 Kommentare zu “Benutzer eindeutig identifizieren”

  1. […] Benutzer eindeutig identifizieren (43) […]

  2. […] Benutzer eindeutig identifizieren (51) […]

  3. $_SERVER[„REMOTE_PORT“] ändert sich gewöhnlich bei jeder Anfrage, deshalb ist es leider nicht zu verwenden.

  4. Da hast Du Recht. Keine Ahnung, warum ich das beim Verfassen des Artikels übersehen habe. Danke für den Hinweis!

Hinterlasse einen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

»Informationen zum Artikel

Autor: Simon
Datum: 07.06.2008
Zeit: 19:07 Uhr
Kategorien: Codeschnipsel
Gelesen: 7416x heute: 2x

Kommentare: RSS 2.0.
Diesen Artikel kommentieren oder einen Trackback senden.

»Mehr zum Thema erfahren

Schlagwörter: ,

»Meta