Sessions, cookies, hash.

Salut à tous, WRInautes je viens ici pour vous parler d'un problème, et prendre votre avis sur la question.
Que pensez vous du système que je vais vous exposer :
Chaque utilisateur (n'appartenant pas à AOL) reçoit une somme de contrôle ainsi calculée :

Code:
md5($_SERVER['REMOTE_ADDR'].']'.$_SERVER['REMOTE_HOST'].'f'.$_SERVER['HTTP_ACCEPT_LANGUAGE'].'~'.$_SERVER['HTTP_X_FORWARDED_FOR'].'~'.$_SERVER['HTTP_VIA'].'~'.$_SERVER['HTTP_CLIENT_IP'].'~'.$_SERVER['HTTP_PROXY_CONNECTION'].$_SERVER['HTTP_USER_AGENT'].'~'.base_convert(date('Y'),10,17).'~'.$_SERVER['FORWARDED_FOR'].'~'.$_SERVER['X_FORWARDED_FOR'].'~'.$_SERVER['X_HTTP_FORWARDED_FOR'].'~'.$_SERVER['HTTP_FORWARDED'])

A partir de ce hash divisé en 8 parties j'extrait 8 entiers en base 10 auxquels j'ajoute 1701.
Je multiplie ces 8 entiers par un grand nombre premier (> 5 chiffres).
Je multiplie ces 8 nombres par un nombre aléatoire entre 1 et 1000.
J'ajoute à ces 8 nombre entiers 17.
Je convertis les 8 entiers en base 30.
Je les concatène avec pour séparateur un élément au hasard dans ce tableau : array('z','y','x','w','v','u')
J'envoie le cookie avec cette chaîne. (une chaîne de caractères complètement "aléatoire" a vue d'oeil.)
Ensuite lorsque le client possède un cookie je récupère mes 8 entiers en base 10.
Je soustrait 17, je divise par mon nombre premier et par les 8 entiers provenant du hash.
Si le résultat est un entier dans les 8 cas l'utilisateur est authentique et la session n'a pas été volée.
Qu'en pensez vous ? merci.
 
je sais pas, meme moi je trouve ça lourd ^^" et n'oublie pas que certains de ses parametres sont modifiables par l'utilisateur, mais pour le reste je sais pas... tous ces parametres sont peut-etre inutiles. Mais le sujet m'interesse ;)
 
voici un exemple de la valeur retournée :
h2g16hx6jene0w4r3qsfz66n2e3y1fh38i1zbdg7p6v5ol6ggxqma8k

p59cpev4ctpjaz382ht0w75f2pfulhhablzqcnkcu9dqtbqxaks3e0


En rouge les 8 nombres entiers qui nous intéressent en base 30.
 
Ah bon ? Pourquoi ? Le cookie est invisible pour un visiteur normal, c'est juste pour ceux qui tenteraient de l'intercepter et de le copier-coller chez eux.
 
J'ai un acces Internet uniquement grâce a mon smartphone que j'utilise comme modem (fuck la loi) et mon op change toutes les 10 secondes. Donc ton cookie ne marcheras plus
 
si ton ip change plus de 2 fois d'affilée tu es redirigée vers une version du site sans cookie, ce qui est prévu dans mon script, notamment aussi pour les utilisateurs d'AOL.
 
ah d'accord :) Mais pour ton systeme, j'ai l'impression que tu te complique la vie, juste pour éviter une requete sql, après c'est que mon avis ^^"
 
Bah ton collier, c'est pour identifier éviterez le vol de sessions nan ? Bah dans ton cookie, tu met md5($_serveur['remoteaddr'].$mdp) et a chaque page tu recalcul le hash, si il est différents c'est qu'il a etait voler.
 
oui mais comment tu fais puisque certains utilisateurs de smartphone et AOL ont une ip qui peut changer toutes les 10 secondes ?
 
Avec ma connexion seul le dernier nombre change (parfois l'avant+dernier..) donc tu hash que les trois premiers ;)
 
et dans ce cas tu as 255x plus de chance d'avoir 2 personnes qui ont le meme hash, et de plus, chez aol il n'y a pas que le dernier id qui change... c'est pas fiable...a mon sens.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut