Sessions, cookies, hash.

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par michel.leonard, 10 Mars 2012.

Tags:
  1. michel.leonard
    michel.leonard WRInaute occasionnel
    Inscrit:
    1 Juin 2010
    Messages:
    366
    J'aime reçus:
    0
    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.
     
  2. sonn
    sonn WRInaute discret
    Inscrit:
    9 Mars 2012
    Messages:
    70
    J'aime reçus:
    0
    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 ;)
     
  3. michel.leonard
    michel.leonard WRInaute occasionnel
    Inscrit:
    1 Juin 2010
    Messages:
    366
    J'aime reçus:
    0
    voici un exemple de la valeur retournée :
    h2g16hx6jene0w4r3qsfz66n2e3y1fh38i1zbdg7p6v5ol6ggxqma8k

    p59cpev4ctpjaz382ht0w75f2pfulhhablzqcnkcu9dqtbqxaks3e0


    En rouge les 8 nombres entiers qui nous intéressent en base 30.
     
  4. sonn
    sonn WRInaute discret
    Inscrit:
    9 Mars 2012
    Messages:
    70
    J'aime reçus:
    0
    en tous ça, si tu fait ça sur ton site, jamais je ne pourrais y aller moi ;)
     
  5. michel.leonard
    michel.leonard WRInaute occasionnel
    Inscrit:
    1 Juin 2010
    Messages:
    366
    J'aime reçus:
    0
    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.
     
  6. sonn
    sonn WRInaute discret
    Inscrit:
    9 Mars 2012
    Messages:
    70
    J'aime reçus:
    0
    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
     
  7. michel.leonard
    michel.leonard WRInaute occasionnel
    Inscrit:
    1 Juin 2010
    Messages:
    366
    J'aime reçus:
    0
    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.
     
  8. sonn
    sonn WRInaute discret
    Inscrit:
    9 Mars 2012
    Messages:
    70
    J'aime reçus:
    0
    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 ^^"
     
  9. michel.leonard
    michel.leonard WRInaute occasionnel
    Inscrit:
    1 Juin 2010
    Messages:
    366
    J'aime reçus:
    0
    explique moi quel type de requète sql pourrait remplacer ce cookie ? merci
     
  10. sonn
    sonn WRInaute discret
    Inscrit:
    9 Mars 2012
    Messages:
    70
    J'aime reçus:
    0
    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.
     
  11. michel.leonard
    michel.leonard WRInaute occasionnel
    Inscrit:
    1 Juin 2010
    Messages:
    366
    J'aime reçus:
    0
    oui mais comment tu fais puisque certains utilisateurs de smartphone et AOL ont une ip qui peut changer toutes les 10 secondes ?
     
  12. sonn
    sonn WRInaute discret
    Inscrit:
    9 Mars 2012
    Messages:
    70
    J'aime reçus:
    0
    Avec ma connexion seul le dernier nombre change (parfois l'avant+dernier..) donc tu hash que les trois premiers ;)
     
  13. michel.leonard
    michel.leonard WRInaute occasionnel
    Inscrit:
    1 Juin 2010
    Messages:
    366
    J'aime reçus:
    0
    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.
     
  14. michel.leonard
    michel.leonard WRInaute occasionnel
    Inscrit:
    1 Juin 2010
    Messages:
    366
    J'aime reçus:
    0
    mais,cependant, pour un petit site , ca laisse quand meme de bonnes chances de fonctionner
     
Chargement...
Similar Threads - Sessions cookies hash Forum Date
Google Bot et Cookies et sessions Développement d'un site Web ou d'une appli mobile 11 Juin 2012
Memcached/PHP gestion de sessions Développement d'un site Web ou d'une appli mobile 22 Juillet 2020
stats taux de rebond et durée sessions Débuter en référencement 7 Février 2019
Nouvelles sessions vs Utilisateurs Google Analytics 23 Novembre 2016
de 0 à 5O sessions/jour d'une seule ville ?? Google Analytics 12 Septembre 2016
[résolu] Sessions : lire le contenu alors qu'on ne sait pas comment il est nommé... Développement d'un site Web ou d'une appli mobile 25 Mai 2016
Différence énorme entre clics Facebook Ads et Sessions Google Analytics Google Analytics 9 Février 2016
Extraire les sessions pour chaque mois par source Google Analytics 30 Septembre 2015
Changement URL Facebook dans GA et diminution des sessions Google Analytics 25 Juin 2015
Unique Pageviews vs Sessions Google Analytics 13 Mai 2015