2010-11-26 3 views
1

Ich weiß, dass Sie die Benutzer-IP-Adresse mit PHP bekommen können, aber gibt es andere Tipps/Tricks/Skripte, die verwendet werden können, um den Benutzer auf andere Weise zu identifizieren?Andere PHP-Tricks, um Benutzer zu identifizieren

+5

Identifizieren wie? Als eine Person? –

+4

Identifizieren wie? Für die Authentifizierung, Werbeverfolgung, persönlich? – Rup

+0

IPs sind eindeutige Kennungen (zum Zeitpunkt des Zugriffs). Was könntest du mehr brauchen? – jwueller

Antwort

2

Es ist unklar, ob Sie SBS und Active Directory/LDAP-System ausführen oder nicht, aber das würde Ihnen eine Möglichkeit geben, mehr Informationen über einen Benutzer basierend auf seiner Windows-Anmeldung zu erhalten.Es gibt eine Menge da draußen auf dem Netz zu diesem Thema:

$_SERVER Informationen über den Browser enthält der Benutzer die Website zugreift, mit: http://php.net/manual/en/reserved.variables.server.php

Sie kann auch getbrowser() verwenden, um diese Informationen in lesbarer Form zu analysieren: http://php.net/manual/en/function.get-browser.php

0

Nun, der beste Weg, sie zu identifizieren, wäre, ein Authentifizierungssystem einzurichten und sich einzuloggen.

Alternativ könnten Sie versuchen, Benutzer basierend auf einer Reihe von verschiedenen Daten zu identifizieren, z. B. ihre IP und Browser sie verwenden (dh wenn userip = ip & & userbrowser == Browser ...) - das ist jedoch allzu leicht zu umgehen.

Überprüfen Sie das globale $ _SERVER für alle anderen Daten, mit denen Sie vergleichen können.

Ich würde sehr empfehlen, ein Authentifizierungssystem zu implementieren - das ist der beste Weg, um Benutzer zu identifizieren.

3

Es gibt Umfragen und Wettbewerbe auf der Website, die meine Firma erstellt, und anonyme Benutzer dürfen einmal am Tag abstimmen. Die Vorschläge, wie dies zu lösen waren:

  1. Authentifizierung per E-Mail Bestätigung (eine E-Mail mit einem eindeutigen Link zu klicken)
  2. IP-Adresse
  3. Cookies

Die e- Mail kann nicht fehlschlagen, aber ein Benutzer kann viele E-Mail-Adressen haben, außerdem ist es mühsam (ein Formular ausfüllen, eine E-Mail öffnen, auf einen Link klicken - viele Leute werden auf diese Weise abgeschreckt).

Die IP ist nicht zuverlässig, weil ADSL-Benutzer oft eine andere IP haben, wenn sie sich mit dem Internet verbinden (zumindest mit dem größten ADSL-Provider meines Landes). Außerdem sind Proxies ein Problem.

Cookies können einfach gelöscht/deaktiviert werden, und ein Benutzer könnte viele Male abstimmen, wenn er mehr als einen Browser installiert hat. Wenn Cookies über JS gesetzt werden, sind auch JS-deaktivierte Browser dagegen immun.

Wir entschieden, dass der Mix aus # 2 und # 3 der beste Kompromiss war, aber es gibt keinen perfekten Weg.

0

Wenn es für eine interne nur Website ist, dann könnten Sie Ident verwenden - siehe auch RFC1413. Es gibt PHP-basierte Implementierungen (versuchen Sie Google). Beachten Sie, dass dies erfordert, dass der Client einen Identitätsserver ausführt, auf den über den Webserver zugegriffen werden kann, auf dem der Code ausgeführt wird. Sie sagen nicht, welches Betriebssystem die Clients sind - es gibt Identitätsserver für Linux, Unix, Apple Mac und MS Windows. Beachten Sie, dass Ident-Antworten nicht authentifiziert werden und (relativ) leicht gefälscht werden können.

Microsoft Lösung für das Problem ist NTLM - aber das ist ein PITA richtig zu verwalten.

Verwandte Themen