2010-11-26 5 views
1

Je sais que vous pouvez obtenir l'adresse IP de l'utilisateur avec PHP, mais y a-t-il d'autres trucs/astuces/scripts qui peuvent être utilisés pour identifier l'utilisateur d'autres façons?Autres astuces PHP pour identifier l'utilisateur

+5

Identifier comment? En tant que personne? –

+4

Identifier comment? Pour l'authentification, le suivi publicitaire, personnellement? – Rup

+0

Les IP sont des identifiants uniques (au moment de l'accès). De quoi pourriez-vous avoir besoin de plus? – jwueller

Répondre

2

Il n'est pas clair si vous exécutez ou non SBS et le système Active Directory/LDAP, mais cela vous donnerait un moyen de tirer plus d'informations sur un utilisateur en fonction de leur connexion Windows.Il y a beaucoup là-bas sur le web sur ce sujet:

$_SERVER contient des informations sur le navigateur de l'utilisateur accède au site avec: http://php.net/manual/en/reserved.variables.server.php

Vous peut également utiliser getbrowser() pour analyser ces informations sous une forme lisible par l'homme: http://php.net/manual/en/function.get-browser.php

0

Enfin, la meilleure façon de les identifier serait de mettre en place un système d'authentification et de les connecter.

Sinon, vous pouvez tenter d'identifier les utilisateurs en fonction d'un tas de différentes données, par exemple leur adresse IP et le navigateur qu'ils utilisent (si userip = ip & & userbrowser == navigateur ....) - c'est trop facile à contourner, cependant.

Vérifiez le $ _SERVER global pour toutes les autres données que vous pourriez comparer.

Je vous recommande vivement de mettre en place un système d'authentification - c'est le meilleur moyen d'identifier les utilisateurs.

3

Il y a des sondages et des concours sur le site Web que mon entreprise construit, et les utilisateurs anonymes sont autorisés à voter une fois par jour. Les suggestions comment résoudre ce sont les suivants:

    authentification
  1. via email de confirmation (envoyer un e-mail avec un lien unique pour cliquer)
  2. adresse IP
  3. les cookies

L'e le courrier ne peut pas échouer, mais un utilisateur peut avoir plusieurs adresses e-mail, en plus, c'est gênant (remplir un formulaire, ouvrir un e-mail, cliquer sur un lien - de nombreuses personnes sont dissuadées de cette façon).

L'adresse IP n'est pas fiable car les utilisateurs ADSL ont souvent une adresse IP différente chaque fois qu'ils se connectent à Internet (au moins avec le plus grand fournisseur ADSL de mon pays). De plus, les procurations sont un problème.

Les cookies peuvent être facilement effacés/désactivés, en plus, un utilisateur serait autorisé à voter plusieurs fois s'il avait plus d'un navigateur installé. Si les cookies sont définis via JS, les navigateurs désactivés par JS sont également à l'abri de cela.

Nous avons décidé que le mélange de # 2 et # 3 était le meilleur compromis, mais il n'y a pas de façon parfaite.

0

Si c'est pour un site Web seulement alors vous pouvez utiliser ident - voir aussi RFC1413. Il existe des implémentations basées sur PHP (essayez google). Notez que cela nécessite que le client exécute un serveur ident accessible depuis le serveur Web sur lequel votre code est en cours d'exécution. Vous ne dites pas quel est le système d'exploitation des clients - il existe des serveurs d'ident disponibles pour Linux, Unix, Apple Mac et MSWindows. Notez que les réponses ident ne sont pas authentifiées et peuvent (relativement) facilement être truquées.

La solution de Microsoft au problème est NTLM - mais c'est un PITA à gérer correctement.