Auto-login sur portail captif

Bobavince - Modifié par kazma le 30/01/2016 à 14:40
ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 - 3 févr. 2016 à 22:38
Bonjour,

Je suis étudiant dans une résidence avec un portail captif. Celui-ci fonctionne bien, mais j'ai une tablette avec Tasker installée qui joue de la musique pendant mes révisions.
Malheureusement, la connexion "saute" parfois m'obligeant à aller me déconnecter, reconnecter, etc .. et perdre du temps.

J'aimerais donc, via Tasker si possible, utiliser un script js pour m'autologger sur le portail captif.

Le code source du formulaire sur la page est :
 <form name="freeuser_form" id="contact-form" action="http://login.secureunibox.com/portal/uniboxlogin.php" method="post" onsubmit="return process_params_login(this,'unibox');">
                        
   <input name="username" value="" type="hidden">
   <input name="button" value="Login" type="hidden">
      <input name="login" value="1" type="hidden">
  <div style="display: none;" class="control-group" id="userinfo">
  
     <div class="control-group">
                                <!--ie8, ie9 does not support html5 placeholder, so we just show field title for that-->
                                <label class="control-label visible-ie8 visible-ie9">Username</label>
                                <div class="controls">
                                        <div class="input-icon left">
                                                <i class="icon-user"></i>
                                                <input value="tam3" class="m-wrap placeholder-no-fix" autocomplete="off" placeholder="Username" name="uname" type="text">
                                        </div>
                                </div>
                        </div>
                        <div class="control-group">
                                <label class="control-label visible-ie8 visible-ie9">Password</label>
                                <div class="controls">
                                        <div class="input-icon left">
                                                <i class="icon-lock"></i>
                                                <input class="m-wrap placeholder-no-fix" autocomplete="off" placeholder="Password" name="password" type="password">
                                        </div>
                                </div>
                        </div>
                        <div class="form-actions">
                                <button type="submit" class="btn blue pull-right" name="submitLogin" id="submit">
                                Login <i class="m-icon-swapright m-icon-white"></i>
                                </button>
                        </div>
                        <!--div class="forget-password">
                                <h4>Have Prepaid Code?</h4>
                                <p>
                                        To login using prepaid <a href="prepaid.php"  id="prepaid-page"><b>click here</b></a>
                                </p>
                        </div-->
 </div>*

Il y a également un bouton, avant le formulaire à appuyer pour valider l'acceptation de la charte de la résidence.

J'ai essayé plusieurs code en bidouillant des codes existants .. mais rien ne marchait chez moi.
J'ai également essayé de bidouiller avec curl, en vain ..
Si quelqu'un avait un début de morceau de code pour m'aiguiller, je lui en serait très reconnaissant !

1 réponse

ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021
Modifié par ryko1820 le 3/02/2016 à 22:41
Hello,

curl était certainement la bonne solution. Le plus simple c'est d'aller voir dans les outils de développement qu'offre le navigateur (sur chrome dans "plus d'outil") dans l'onglet réseau (mais firefox offre les mêmes options).

Cocher la case "preserve log" juste avant de se connecter, puis après authentification, cliquer-droit sur le fichier .php ayant servi à l'authentification et faire "copy as curl".

C'est la requète exacte qui est envoyée vers le serveur, contenant le mot de passe et le nom d'utilisateur ainsi que tous les autres paramètres éventuels et qui permet de réinitialiser la connexion.

Peut-être qu'il faudra procéder en 2 étapes de façon à récupérer avant cela la requête curl pour le formulaire d'acceptation des conditions ... et ajouter dans les requêtes curl brutes fournies par le navigateur l'option "-L" qui permet de suivre une redirection ...

You may stop me but you can't stop us all   ;-)
0