Quel est le meilleur moyen de générer une "empreinte digitale" de l'unicité de l'utilisateur en PHP?
Par exemple:
Idéalement, les empreintes digitales désignent donc la "machine" plutôt que le navigateur ou "ip", mais je ne vois pas comment cela est réalisable.
Ouvrez-vous aux idées/suggestions sur la manière dont vous identifiez de manière unique vos utilisateurs et sur les avantages/inconvénients de votre méthode.
Ce site couvre à peu près toutes les informations que vous pouvez utiliser pour distinguer les individus via un navigateur.
JavaScript, Java et Flash aident beaucoup.
manière la plus simple et la meilleure: utilisez phps session-management - chaque client se voit attribuer un identifiant, stocké dans un cookie (si activé) ou donné sous forme de variable get sur chaque lien et formulaire. (vous pouvez également créer un cookie vous-même). mais: cela ne fait que "prendre les empreintes digitales" du navigateur - si l'utilisateur change de navigateur, supprime ses cookies ou quoi que ce soit d'autre, vous ne pouvez plus l'identifier.
identifier chaque client par ip est généralement une mauvaise idée et ne fonctionnera pas. les clients qui utilisent le même routeur auront la même adresse IP - les clients connectés via un pool de serveurs proxy peuvent avoir une autre adresse IP à chaque chargement de page.
si vous avez besoin d'une solution qui ne puisse pas être manipulée facilement par le client, essayez de combiner les éléments suivants, en utilisant tous ceux pris en charge par le navigateur du client et comparez-les à chaque chargement de page:
il y a une solution appelée evercookie qui implémente tout cela
Il y a autre chose à prendre en compte, l'adresse IP publique d'un utilisateur est quelque chose qui peut aussi changer à chaque chargement de page.
Il existe plusieurs organisations qui commutent les adresses IP publiques dans leurs routeurs pour équilibrer le trafic.
L'obtention d'une fiabilité à 100% n'est pas garantie, mais la combinaison de certaines méthodes courantes peut vous donner des résultats significatifs.
Prenez le chemin le plus simple possible qui pourrait fonctionner et ajustez-le avec le temps si cela semble nécessaire.
J'ai trois ordinateurs différents, différents appareils de poche, et beaucoup d'entre eux ont différents navigateurs installés. J'utilise toutes ces choses de manière interchangeable à la maison, emmenez-les ailleurs avec moi, donc, sur diverses adresses IP. Ce que j'essaie de souligner, c'est que le fait de prendre les empreintes digitales d'un navigateur ou d'une machine ne sera jamais infaillible si votre objectif est de bloquer une personne.
Je vous recommande de prendre une approche différente. Jugez en fonction des informations non concluantes dont vous disposez qui suggèrent l'identité de votre utilisateur banni (même adresse IP ou même agent utilisateur s'il s'agit d'une méthode peu commune, ou encore de certaines méthodes de prise d'empreinte de navigateur javascript, telles que les polices disponibles, les plugins disponibles, les outils non standard (taille de la fenêtre, etc.) et exigent de ces visiteurs suspects une forme de vérification d’identité plus stricte - telle que oauth avec Facebook, Google+ ou Twitter. Ensuite, vous pouvez vérifier si ce compte de média social est authentique ou créé simplement pour le contourner. Il existe également des API de vérification téléphonique au cas où votre base d'utilisateurs ne serait pas au courant des réseaux sociaux et selon l'intérêt que les utilisateurs ne contournent pas l'interdiction.