[PHP] identifier un membre pas par adresse IP et sans le loger.

identifier un membre pas par adresse IP et sans le loger. [PHP] - PHP - Programmation

Marsh Posté le 09-02-2007 à 13:06:37    

Bonjour,
J'ai un nouveau projet à mettre en place. Ce serait un site où il suffirait à l'utilisateur de visiter le site pour être identifier. Seulement il faut que le visiteur n'est pas besoin de se loger, ni de télécharger un programme.  
 
Par adresse MAC? Licence windows? (mais après ça posera des problèmes pour un visiteur qui aurait Linux ou Mac OS) ... pas par IP car il serait facile de changer d'adresse et d'être identifier plusieurs fois!  
 
Voilà en gros je ne sais pas coment m'y prendre pour gérer se problème de sécurité. Si vous avez une proposition, je suis ouvert merci d'avance :)


Message édité par bartsword le 09-02-2007 à 13:07:44
Reply

Marsh Posté le 09-02-2007 à 13:06:37   

Reply

Marsh Posté le 09-02-2007 à 13:09:47    

cookie ?

Reply

Marsh Posté le 09-02-2007 à 13:16:39    

Bha nan parce-que il suffit a l'utilisateur de supprimer le cookie pour avoir une autre identification... Merci quand même j'ai peut-être omis de préciser qu'il faut une identification UNIQUE.

Reply

Marsh Posté le 09-02-2007 à 13:17:22    

D'ailleur que ce soit en PHP ou autre chose avec un programme qui tournerai sur le serv derrière. Bon la Sa se complique si ya plus simple je suis preneur, si ya pas je suis preneur aussi ^^

Reply

Marsh Posté le 09-02-2007 à 13:39:14    

pour l'authentifier tu fais ca sur ta base :

Code :
  1. select login from users order by random() limit 0,1;

Message cité 1 fois
Message édité par couak le 09-02-2007 à 13:39:24
Reply

Marsh Posté le 09-02-2007 à 13:41:16    

couak a écrit :

pour l'authentifier tu fais ca sur ta base :

Code :
  1. select login from users order by random() limit 0,1;



 
 :heink: je vois pas comment ça va marcher

Reply

Marsh Posté le 09-02-2007 à 13:45:48    

Nan car je ne veux pas que le visiteur aie à se loger. Simplement il faut que je sache par ce fameux moyen que je cherche de savoir si ce visiteur est déjà passé par là ou pas.
 
EXEMPLE : Le visiteur vient sur le site. Une phrase apparait : "C'est votre première visite". Il quitte le site et revient et une autre phrase apparait du genre : " Vous avez dàjà visiter ce site".
 
Mais pour ça je ne veux utiliser ni cookies (suffit de supprimer pour revenir sur le site), pas de login (car je ne veux pas de membres), pas par adresse IP (trop tangible)... En gros je vous dit tout ce à quoi j'ai déjà pensé et qui ne va pas solutionner mon problème   :pt1cable:  
Je suis sûr qu'il est possible de le faire, mais je ne sais pas par quel moyen !!!
 
Merci encore a+

Reply

Marsh Posté le 09-02-2007 à 13:55:18    

bartsword a écrit :

Je suis sûr qu'il est possible de le faire, mais je ne sais pas par quel moyen !!!


non.
Tu peux jeter  un oeil sur la liste des variables prédéfinies connues en php (avec un autre langage tu aurais les mêmes) et tu verras que tu n'as aucune information pour identifier un client (hors IP).

 
Mxtrem a écrit :

:heink: je vois pas comment ça va marcher


it was teh mighty joke [:hahaguy]

Message cité 1 fois
Message édité par anapajari le 09-02-2007 à 13:55:27
Reply

Marsh Posté le 09-02-2007 à 13:57:01    

ok... Mais alors pas forcéement en php :)

Reply

Marsh Posté le 09-02-2007 à 14:37:50    

anapajari a écrit :

non.
Tu peux jeter  un oeil sur la liste des variables prédéfinies connues en php (avec un autre langage tu aurais les mêmes) et tu verras que tu n'as aucune information pour identifier un client (hors IP).
 
 
it was teh mighty joke [:hahaguy]


bartsword a écrit :

ok... Mais alors pas forcéement en php :)

En plus clair, quelque soit le langage utilisé si tu ne veux ni des cookies ni d'une détection par adresse IP ni d'un systéme de login, alors c'est infaisable.
 
D'ailleur en dehors d'un systéme de login, il n'y a aucune fiabilité zéro de possible.
 
PS : A l'impossible, nul n'est tenus. ;)

Reply

Marsh Posté le 09-02-2007 à 14:37:50   

Reply

Marsh Posté le 09-02-2007 à 15:01:18    

rien n'est impossible, mais je ne pense pas que ça le soit :D (pensée du jour)

Reply

Marsh Posté le 09-02-2007 à 15:31:16    

ok... bon bha mon problème commence vraiment à se corser !!! en gros soit j'abandonne mon projet, soit je le fais mais il ne sera pas asser bien slcurisé !!!
 
Merci de votre aide, on peut considérer ça comme un problème résolu, enfin à moin qu'il y en ai d'autre qui ait une ou plusieurs idées à me proposer ...

Reply

Marsh Posté le 09-02-2007 à 15:33:46    

Bah explique pourquoi tu ne veux absolument pas de login ni de cookies, on pourra ptet t'orienter vers autre chose :)

Reply

Marsh Posté le 09-02-2007 à 15:39:50    

car le sens de mon projet perdrai tout son sens, le visiteur est censé être enregistré (soit par sa mac adresse, ou autre qui ferait de lui un user unique) sans ne rien avoir à faire.  
Rien que le fait de visiter le site ferait de lui un membre unique.
Tout est dit dans cette phrase finalement. Donc en gros il faut que je trouve un moyen, et je pense que je vais m'orienter vers la mac adresse , mais j'ai poster un new message pour savoir si il était possible de récup la Mac adresse en C.


Message édité par bartsword le 09-02-2007 à 15:41:43
Reply

Marsh Posté le 09-02-2007 à 15:47:14    

Les variables envoyées au serveur ne sont pas dépendantes du langage, tu n'auras pas plus de réponse en C. La seule différence est la manière de récupérer ces variables.
Mais tu n'as pas répondu à ma question. J'ai bien compris que "Rien que le fait de visiter le site ferait de lui un membre unique.", ça ne nous dit toujours pas pourquoi, et on ne peut donc toujours pas t'aider d'avantage ;)

Reply

Marsh Posté le 09-02-2007 à 18:32:36    

Bah techniquement c'est faisable si tu obliges l'utilisateurs à télécharger un programme (qui va foutre une clé dans son regedit par exemple et récupérer par l'interméditaire du programme à chaque connection du site son ID pour la comparer avec son adresse MAC ou IP) mais c'est le bourdel :( désolé :(
 
Sinon tu peux grâce à activex créer un fichier sur le pc de l'individu (chose pas très appréciée :s) qui a comme titre un identifiant et tu vérifie à chaque connection si le fichier est là, récupère l'id etc...

Reply

Marsh Posté le 09-02-2007 à 18:44:02    

Mais quel délire. La question de l'identification revient à intervalle régulier, toujours en cat PHP, parfois le vendredi, mais là, c'est gratiné.
 
Aucune méthode fiable n'existe. On peut tout au plus limiter les abus.
 
* Login : rien ne te garantit que je ne me suis pas inscrit 2 fois, sauf si c'est par la poste. Rien ne te dit que je ne prête pas mon login à autrui.
 
Tte façon, ça t'intéresse pas.
 
* IP+cookie : le simple fait que les cookies soient supprimés à la fermeture du browser (c'est le réglage chez moi, sauf exception pour qq sites comme HFR) et tu es dans le vent.
 
* MAC address : possible en PHP sur un intranet si je ne me trompe, mais ne passe pas sur le nainternet. C ne t'aidera pas. Encore heureux, hein.
 
Faut arrêter les fantasmes big-brotheriens. [:itm]
 
Au mieux, cookie+IP pour les utilisateurs lambda, mais c'est très contournable.

Reply

Marsh Posté le 09-02-2007 à 21:09:05    

je sait pas le contexte mais si c'est pour un genre d'intranet, dans mon entreprise, l'authentification est automatique avec le login windows. Je ne sait pas comment sa marche ni c'est ce que tu recherche ... je dis juste :)

Reply

Marsh Posté le 09-02-2007 à 23:39:42    

kerberos

Reply

Marsh Posté le 11-02-2007 à 21:31:24    

merci de vos réponse. Je crois que je vais opter pour IP+cookie. Ou alors peut-être vers l'ActiveX, mais peux-tu m'en dire plus sur cette technique Mxtrem ???
 
Taz --> Qu'est-ce que Kerberos?

Message cité 1 fois
Message édité par bartsword le 11-02-2007 à 21:40:37
Reply

Marsh Posté le 11-02-2007 à 22:15:55    

Reply

Marsh Posté le 21-03-2007 à 10:56:09    

je ne sais pas du tout si c'est le cas mais je me demande si la varible HTTP_USER_AGENT n'est pas unique, si le numero de serie de l'explorer n'est pas inclu dans la réponse ou bien existe t'il d'autre variable qui le font ...

Reply

Marsh Posté le 21-03-2007 à 12:17:06    

vied12 > "HTTP_USER_AGENT" est tout sauf unique. Si t'as 30 000 personnes qui installent exactement la même version du même navigateur, alors ils auront tous la même valeur là dedans.
En dehors de ça, il faut bien comprendre qu'aucune information envoyé par un navigateur n'est unique. (il y a toujours des cas où deux navigateurs envérons une info identique quelque soit l'élément qu'on teste)

Reply

Marsh Posté le 21-03-2007 à 13:48:12    

bartsword a écrit :

merci de vos réponse. Je crois que je vais opter pour IP+cookie. Ou alors peut-être vers l'ActiveX, mais peux-tu m'en dire plus sur cette technique Mxtrem ???
 
Taz --> Qu'est-ce que Kerberos?


 
et quand on navige sous Firefox, mozilla ou autre navigateur <> de IE, on fait comment avec l'activeX? :sarcastic:  
 
Par ailleurs, en supposant que tu trouves une méthode pour s'authentifier comme tu le proposes (ce dont je doute très fortement), tu le gères comment le cas où 2 personnes utilisent le même ordinateur pour surfer sur ton site  :o
 
Enfin, pour le coup de l'adresse IP, tu fais comment quand les utilisateurs sont derrières un proxy? :na:


Message édité par rufo le 21-03-2007 à 13:49:18
Reply

Marsh Posté le 14-03-2012 à 09:29:53    

dans ton cas, le mieux est de faire ceci en php :
 

Citation :

$utilisateur=md5(preg_replace('#~+#','~',$_SERVER['REMOTE_ADDR'].']'.$_SERVER['REMOTE_HOST'].'f'.preg_replace('#[^a-z0-9]#i','',$_SERVER['HTTP_ACCEPT_LANGUAGE']).'~'.$_SERVER['HTTP_X_FORWARDED_FOR'].'~'.$_SERVER['HTTP_VIA'].'~'.$_SERVER['HTTP_CLIENT_IP'].'~'.$_SERVER['HTTP_PROXY_CONNECTION'].strrev(preg_replace('#[^0-9a-z]#i','',$_SERVER['HTTP_USER_AGENT'])).'~'.$_SERVER['HTTP_ACCEPT_ENCODING'].'~'.$_SERVER['HTTP_ACCEPT_LANGUAGE'].'~'.~'.$_SERVER['FORWARDED_FOR'].'~'.$_SERVER['X_FORWARDED_FOR'].'~'.$_SERVER['X_HTTP_FORWARDED_FOR'].'~'.$_SERVER['HTTP_FORWARDED']);


 
c'est le "hash" propre a un utilisateur le plus unique possible... , ya pas de cookie rien...

Reply

Marsh Posté le 14-03-2012 à 09:31:36    

pour que 2 personnes aient le meme id il faut que : ils aient la meme IP, le meme navigateur, la meme langue de configurée dans le navigateur, les memes méthodes de compressions disponibles, qu'ils passent par le meme proxy s'il y en a un, et qu'ils se connectent la meme année...

Reply

Marsh Posté le 14-03-2012 à 09:47:08    

mmike57 a écrit :

pour que 2 personnes aient le meme id il faut que : ils aient la meme IP, le meme navigateur, la meme langue de configurée dans le navigateur, les memes méthodes de compressions disponibles, qu'ils passent par le meme proxy s'il y en a un, et qu'ils se connectent la meme année...


Ben c'est le cas de personnes qui utilisent le même ordinateur pour surfer (cas d'un PC familiale ou d'un PC dans un bureau de passage en entreprise). :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 14-03-2012 à 10:22:51    

oui mais ça tu ne pourras jamais le différencier, tu n'as pas de système de détection d'empruntes digitales sur la souris... faut rester raisonnable, dans 99.5% des cas ma variable est fiable...

Reply

Marsh Posté le 14-03-2012 à 13:46:16    

Tu sous-estimes grandement le cas du PC familiale partagé par les membres d'une même famille :/ Tout le monde n'a pas un pc par personne, tu sais.
 
Idem dans le cas des PC en entreprises qui sont souvent configurés de manière standard et accèdent au web derrière un proxy.
 
Mes 2 cas de figure représentent bien plus que 0.5% des cas...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 14-03-2012 à 16:32:44    

Citation :

oui mais ça tu ne pourras jamais le différencier, tu n'as pas de système de détection d'empruntes digitales sur la souris... faut rester raisonnable, dans 99.5% des cas ma variable est fiable...


et combien as tu de chances que deux membres d'une meme famille partageant le meme pc se connectent sur ton site ? IL SERA FORMELLEMENT IMPOSSIBLE DE LES DIFFERENCIER.  
C'est pas la peine de chercher, si c'était mon oncle qui écrivais ce message a ma place, meme HW.fr ne serait  pas au courant bien sur, et ni gmail... A mon avis tu vas avoir du mal a faire mieux que ces 2 entreprises qui sont cotées en bourse a plus de 200 milliards de dollars (GG et FB)...


Message édité par mmike57 le 14-03-2012 à 16:56:35
Reply

Marsh Posté le 14-03-2012 à 16:35:52    

et au passage si tu couple mon systeme avec un cookie, tu as 99.9% de compatibilité, car si tu es sur un pc d'entreprise ou familial, le seul moyen pour ne pas être différencié c'est de refuser les cookies. Alors va trouver deux personnes qui vont sur ton site a partir du meme pc qui refuse les cookies... (et donc qui n'as pas accès a facebook, ni hotmail, ni gmail,ni hardware.fr, ni orange(mode client) ni sfr(mode client) ni bouygues(mode client) ni twitter, ni amazon(mode client), ni ebay(mode client)...)


Message édité par mmike57 le 14-03-2012 à 16:50:50
Reply

Marsh Posté le 14-03-2012 à 16:36:13    

Firefox ne permet meme plus de refuser les cookies nativement...


Message édité par mmike57 le 14-03-2012 à 16:46:50
Reply

Marsh Posté le 16-03-2012 à 13:01:11    

mmike57 a écrit :

dans ton cas, le mieux est de faire ceci en php :
 

Citation :

$utilisateur=md5(preg_replace('#~+#','~',$_SERVER['REMOTE_ADDR'].']'.$_SERVER['REMOTE_HOST'].'f'.preg_replace('#[^a-z0-9]#i','',$_SERVER['HTTP_ACCEPT_LANGUAGE']).'~'.$_SERVER['HTTP_X_FORWARDED_FOR'].'~'.$_SERVER['HTTP_VIA'].'~'.$_SERVER['HTTP_CLIENT_IP'].'~'.$_SERVER['HTTP_PROXY_CONNECTION'].strrev(preg_replace('#[^0-9a-z]#i','',$_SERVER['HTTP_USER_AGENT'])).'~'.$_SERVER['HTTP_ACCEPT_ENCODING'].'~'.$_SERVER['HTTP_ACCEPT_LANGUAGE'].'~'.~'.$_SERVER['FORWARDED_FOR'].'~'.$_SERVER['X_FORWARDED_FOR'].'~'.$_SERVER['X_HTTP_FORWARDED_FOR'].'~'.$_SERVER['HTTP_FORWARDED']);


 
c'est le "hash" propre a un utilisateur le plus unique possible... , ya pas de cookie rien...


Non mais son soucis etait un faux soucis, faut écrire dans un cookie, c'est le but des cookie au passage hein... :o
 
Si un certificat côté client. Mais bien sur ça implique une manipulation utilisateur et du coup ça plombe son potentiel. ;)


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
Reply

Marsh Posté le 17-03-2012 à 18:42:24    

ben a partir de ce hash, tu peux faire ceci : http://forum.webrankinfo.com/sessi [...] 52527.html

Reply

Marsh Posté le 19-03-2012 à 10:40:00    

Le problème des cookies, est qu'ils sont souvent effacés entre deux ouvertures du navigateur. Donc, moi j'aime bien la solution de mmike57.

Reply

Marsh Posté le 06-04-2012 à 15:49:58    

Allez une piste : reconnaissance rétinienne avec la webcam.
Bon courage !

Reply

Marsh Posté le 29-05-2013 à 14:46:02    

C'est possible puisque certains y arrivent.
 
Le site www.zero-cookie.com élimine les doublons critères par critères et arrive à isoler un utilisateur unique.
 
Bonne chance.

Reply

Marsh Posté le 29-05-2013 à 14:53:42    

Je doute fort que cette méthode fonctionne si l'utilisateur change de machine :/ Le site identifie une machine, voire un compte sur cette machine mais pas un utilisateur (une personne). La preuve, la page " méthodologie" le dit :  

Citation :

Pour : très rapide (temps réel), bonne fiabilité sur l'échelle du temps. - Contre : ne fonctionne pas en cas de changement structurel du visiteur (ex : achat d'un nouvel écran par exemple).


 
Edit : et quand ils parlent de critères stables, il faut ça soient des infos collectables par le serveur, bien souvent provenant du header envoyé par le navigateur ou d'infos collectables par du javascript envoyées en Ajax. Du coup, sans utiliser de failles de sécurité, ça laisse que des infos concernant l'OS, la résolution d'écran, le navigateur, l'IP, la langue locale du navigateur, l'url de provenance.
Tout ce qui vient du header du navigateur, c'est pas fiable puisqu'avec une simple extension pour Firefox par ex, tu peux faire passer un FF sous Windows pour un Iphone en changeant le user-agent :/
 
Par ailleurs, je serais curieux de voir ce que donne leur algo dans une entreprise où toutes les machines bureautiques sont identiques (même version de navigateur, d'OS et résolution d'écran) et passent par le même proxy pour accéder au web...


Message édité par rufo le 29-05-2013 à 15:02:28

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 29-05-2013 à 17:32:16    

Mais carrément, et puis sans js leur truc vaut plus rien, déjà qu'avec ça vaut pas grand chose, alors si quelqu'un refuse les cookies, je pense que le js c'est pas la peine d'y penser..
 

Citation :

Analyse en temps réel de votre ordinateur


 
 :lol:  
 

Citation :

Pour : Étique parfaite.


 
re  :lol:

Reply

Marsh Posté le 29-05-2013 à 21:13:34    

J'avais pas vu la faute d'orthographe sur "Etique" :D Ca, ça fait sérieux :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed