IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

processus d'identification du site ebay


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut processus d'identification du site ebay
    Bonjour,

    Même si en apparence mon problème n'est pas purement javascript le plus gros, je pense, en relève.

    Je voudrais developper une application sous windev qui exploite les données d'un compte ebay, pour y parvenir je dois avant tout passer le processus d'identification du site et il me pose quelques problèmes. Après avoir pas mal bidouillé le site je suis parvenu à la conclusion que l'url d'identification, pour passer outre le formulaire login/mdp était celle-ci :

    https://signin.ebay.fr/ws/eBayISAPI....&pass=motpasse

    Mais... ça serait trop facile sinon, pensez donc, le problème est que comme vous pouvez le remarquer le site utilise des jetons (tokens en vo) à la variable rtmData, en clair il vérifie la présence du cookie sur le disque en plus du processus classique de vérification pseudo/mdp, mon URL fonctionne donc si on a dejà été sur ebay se logger. Pour obtenir un de ces jetons le site fait appel au javascript, et c'est là que je bloque.

    Prenons ensemble le code source de la page du formulaire d'identification du site ebay, le passage qui m'interesse est celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
     <form method="post" name="SignInForm" onsubmit="setOptimCookie();" action="https://signin.ebay.fr/ws/eBayISAPI.dll?co_partnerid=2&amp;siteid=71&amp;UsingSSL=1"><input type="hidden" name="MfcISAPICommand" value="SignInWelcome"><input type="hidden" name="siteid" value="71"><input type="hidden" name="co_partnerId" value="2"><input type="hidden" name="UsingSSL" value="1"><input type="hidden" name="ru" value="https://signin.ebay.fr/ws/eBayISAPI.dll?co_partnerid=2&amp;siteid=71&amp;UsingSSL=1&amp;MfcISAPICommand=SignInWelcome&amp;siteid=0&amp;co_partnerId=2&amp;UsingSSL=1&amp;ru&amp;pp&amp;pa1&amp;pa2&amp;pa3&amp;i1=-1&amp;pageType=-1&amp;rtmData=A01%3DAAAAACVBAAAAAAAAQcB%3BM01%3DA%3BPS%3DT.0=A;PS=T.0&amp;userid=buzzbuzzbuzz123&amp;pass=plustek"><input type="hidden" name="pp" value=""><input type="hidden" name="pa1" value=""><input type="hidden" name="pa2" value=""><input type="hidden" name="pa3" value=""><input type="hidden" name="i1" value="-1"><input type="hidden" name="pageType" value="-1"><input type="hidden" name="rtmData" value=""><table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
    <td><img src="https://securepics.ebaystatic.com/aw/pics/spacer.gif" width="1" height="10" alt=" " title=""></td>
    </tr>
     <tr>
    <td valign="top">
    <font color="#ff0000"></font>Si vous êtes un membre eBay, ouvrez une session pour consacrer plus de temps à l'achat, à la vente et aux autres activités. <br></td>
    </tr>
    </table>
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
    <td><img src="https://securepics.ebaystatic.com/aw/pics/spacer.gif" width="1" height="10" alt=" " title=""></td>
    </tr>
    <tr>
    <td valign="top"><span><b>Votre pseudo</b></span><br><input type="text" name="userid" maxlength="64" tabindex="1" value="" size="27"><br><span class="help"><a href="http://cgi4.ebay.fr/ws/eBayISAPI.dll?UserIdRecognizerShow">Vous avez oublié</a> votre pseudo ?</span></td>
    </tr>
     </table>
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
    <td><img src="https://securepics.ebaystatic.com/aw/pics/spacer.gif" width="1" height="10" alt=" " title=""></td>
    </tr>
    <tr>
    <td valign="top"><span><a name="Password"><b>Votre mot de passe</b></a></span><br><input type="password" name="pass" maxlength="64" value="" tabindex="2" size="27"><br><span class="help">
    										Vous avez <a href="http://cgi4.ebay.fr/ws/eBayISAPI.dll?ForgotYourPasswordShow">oublié</a> votre mot de passe ?</span></td>
    </tr>
    </table>
    <table border="0" cellpadding="0" cellspacing="0" width="350">
     <tr>
    <td colspan="2"><img src="https://securepics.ebaystatic.com/aw/pics/spacer.gif" width="1" height="10" alt=" " title=""></td>
    </tr>
    <tr>
    <td width="35%"><input type="submit" tabindex="3" value="Ouvrir une session en mode sécurisé > "></td>
    </tr>
    </table>
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
    <td><img src="https://securepics.ebaystatic.com/aw/pics/spacer.gif" width="1" height="10" alt=" " title=""></td>
    </tr>
    <tr>
    <td valign="top"><input type="checkbox" name="keepMeSignInOption" value="1" tabindex="4"></td>
    <td><img src="https://securepics.ebaystatic.com/aw/pics/spacer.gif" width="3" height="1" alt=" " title=""></td>
    <td width="100%" class="help"><a href="http://pages.ebay.fr/help/newtoebay/staying_signed_in.html">Je souhaite rester connecté</a> sur cet ordinateur ; je fermerai moi-même la session.
    						</td>
     </tr>
    <tr>
    <td><img src="https://securepics.ebaystatic.com/aw/pics/spacer.gif" width="3" height="15" alt=" " title=""></td>
    </tr>
    <tr>
    <td colspan="3">
    <hr width="100%" size="1" color="#cccccc">
    </td>
    </tr>
    <tr>
    <td width="2%" align="right" valign="top"><img src="https://securepics.ebaystatic.com/aw/pics/iconlightbulb_16x16.gif" alt=" " title=""></td>
    <td colspan="2" width="98%" class="help"><a href="http://pages.ebay.fr/help/new/contextual/account_protection.html" onclick="return ebay.oDocument._getControl('openHelpWindow')._exec('openContextualHelpWindow',this.href);" target="helpwin">Astuces sur la sécurité de votre compte</a><br> Assurez-vous que l'URL affichée ci-dessus commence par https://signin.ebay.fr/</td>
    </tr>
    <tr>
     <td><img src="https://securepics.ebaystatic.com/aw/pics/spacer.gif" width="3" height="25" alt=" " title=""></td>
    </tr>
    </table>
    </form>
    Il est fait référence à une fonction setOptimCookie(), comme la recherche sur cette fonction sur la page ne mène à rien on recherche donc cette fonction dans un script externe .js, ils sont au nombre de 3 sur la page :

    https://secureinclude.ebaystatic.com...ase_e4551fr.js
    https://secureinclude.ebaystatic.com...ody_e4551fr.js
    https://secureinclude.ebaystatic.com...ter_e4551fr.js On retrouve donc la fonction setOptimCookie dans le second script et là... et là je bloque, je ne comprends rien, j'ai dit windev comme j'aurais pu dire c++, j'ignore comment formuler ma requête, gérer les cookies voire du javascript, à la limite j'ai songé à faire une fenetre HTML en non visible qui s'occuperait de la gestion du cookie avec une page simplifiée en html ou php pendant que je ferais directement une requête d'identification. J'imagine qu'il y a de très bons éléments en javascript sur ce forum, pensez-vous qu'il soit possible de faire générer ce fameux jeton ? De quelle manière, la plus simple possible (sinon je vais me pendre) vous y prendriez-vous ?

    Par avance je vous remercie, au moins pour le temps que vous avez passé à lire mon message.

  2. #2
    Membre confirmé
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Points : 640
    Points
    640
    Par défaut
    Je 'jetton' de ebay, c'est un cookie avec un # unique dedans ?
    Un genre de SSID ?

    Est-ce que c'est un truc totalement aléatoire généré par ebay ?
    Est-ce que tu peux le créer avec certaines informations ? (login, pass, heure, etc)
    Est-ce que la requête de création du cookie apparait en clair ? (peut-tu aller chercher la valeur du cookie directement dans la source de la page de réponse du login?)


    Beaucoup de question, mais ca permettera d'avancer je crois

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par FMaz
    Je 'jetton' de ebay, c'est un cookie avec un # unique dedans ?
    Un genre de SSID ?

    Est-ce que c'est un truc totalement aléatoire généré par ebay ?
    Est-ce que tu peux le créer avec certaines informations ? (login, pass, heure, etc)
    Est-ce que la requête de création du cookie apparait en clair ? (peut-tu aller chercher la valeur du cookie directement dans la source de la page de réponse du login?)


    Beaucoup de question, mais ca permettera d'avancer je crois
    Alors le problème c'est que javascript, les cookies.. je sais pas trop, mais d'après ce qu'il semble, je cite :

    <form method="post" name="SignInForm" onsubmit="setOptimCookie();" action="https://signin.ebay.fr/ws/eBayISAPI.dll?co_partnerid=2&amp;siteid=71&amp;UsingSSL=1">
    Il suffirait de faire un appel à la fonction setoptimcookie pour de https://secureinclude.ebaystatic.com...ter_e4551fr.js pour obtenir le jeton, par contre je ne comprends pas trop comment il est possible d'envoyer dans le même temps ce "jeton" que l'on vient d'obtenir, par défaut la variable rtmData, qui si je ne me trompe pas contient ce jeton, est nulle, elle prend par la suite pour valeur, par exemple :

    A01%3DAAAAACVBAAAAAAAAQcB%3BM01%3DA%3BPS%3DT.0=A;PS=T.0
    Et cette variable est transmise en même temps que, entre autres, le pseudo et mot de passe pour l'identification.

    Je pense m'être trompé à un ou plusieurs endroits sur ce processus, en esperant que quelqu'un de plus compétent que moi (ça sera pas dur) verra mon message. Merci

  4. #4
    Membre confirmé
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Points : 640
    Points
    640
    Par défaut
    j'aimerais bien t'aider mais j'ai l'impression que ce problème me surpasse quelques peu.

    Esaie simplement de cloner le formulaire, et de l'envoyer dans un Iframe invisible sur ta page. C'est bourrin, mais ca te permettera de laisser ebay créer le cookie.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Avant tout merci pour tes réponses, j'avais bien songé à faire comme tu me le conseilles, bien que je reconnais que ça manque d'élégance, je commencerais par demander le pseudo et mot de passe dans une fenetre windev puis j'incluerais ces données dans une page html ou php peu importe reprenant la page de login d'ebay qui serait un champ HTML invisible (la précision importe peu) mais le formulaire ainsi pré-rempli doit se valider tout seul sans besoin de cliquer sur quoi que ce soit dans la page (vu que le champ sera invisible), donc j'en reviens au javascript pur, est-ce possible de valider automatique le formulaire dès la page chargée ? Je pense que oui mais j'ignore comment. Ca me permettrait peut être de me débarasser pour un temps de ce problème est de progresser pour, pourquoi pas, y revenir ensuite (avec le recul tout semble toujours plus facile)

    Et encore merci !

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je crois avoir partiellement résolu mon problème, j'avais tout d'abord tenté une validation automatique du formulaire mais depuis la SP2 de XP internet explorer bloque cette fonction par mesure de sécurité (de la même manière qu'un activex). Comme mon formulaire fait un appel à la fonction SetOptimCookie() lors de la validation j'ai déporté cet appel par un <window.onload=SetOptimCookie()> pour que le cookie soit générée au chargement de la page et non plus à la validation du formulaire, mais dans ce cas également j'ai un avertissement sous IE, que faire ?

Discussions similaires

  1. probleme d'identification sur site web via python
    Par KINENVEU dans le forum Réseau/Web
    Réponses: 16
    Dernier message: 11/08/2009, 15h06
  2. Probleme d'identification sur site
    Par steeveman dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 29/07/2007, 00h14
  3. Réponses: 3
    Dernier message: 11/08/2006, 15h22
  4. [Forum] Identification sur un site
    Par Dev-FX dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 14/05/2006, 11h21
  5. Réponses: 9
    Dernier message: 24/04/2006, 00h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo