web-dev-qa-db-fra.com

Script de connexion automatique pour un site Web sur une machine Windows?

J'ai vu qu'un type avait un fichier (je suppose un fichier batch). En cliquant sur le fichier batch, il a pu se connecter à plusieurs sites. (Peut-être que cela a été fait en utilisant VB.)

J'ai cherché un tel script sur Google mais je n'ai rien trouvé d'utile.

Je connais un peu de C++ et UNIX (aussi du HTML et du JavaScript). Je ne sais pas si cela peut être fait sur une machine Windows utilisant ces langages, mais même si cela pouvait être fait, je pense que ce serait difficile par rapport à VB ou C ## ou un autre haut langues de niveau.

J'ai appris à ouvrir plusieurs sites à l'aide des commandes batch de base de Windows contenues dans un fichier batch comme:

start http://www.gmail.com
start http://stackoverflow.com

Mais je ne peux toujours pas comprendre comment le fait de cliquer sur le fichier de commandes m'aiderait à me connecter aux sites sans même taper le nom d'utilisateur et le mot de passe.

Dois-je commencer à apprendre la programmation par lots Visual Basic, .NET ou Windows pour ce faire?

Une dernière chose: puis-je également l'utiliser pour me connecter à des bureaux distants?

20
munish

Du terme "connexion automatique", je suppose que la sécurité (protection par mot de passe) n'est pas d'une importance capitale ici.

Les lignes directrices pour la solution pourraient être d'utiliser un signet JavaScript (idée empruntée à un jeu de Nice publié sur site D&M de M&M ).

L'idée est de créer un fichier javascript et de le stocker localement. Il devrait faire les données de connexion entrant en fonction de l'adresse actuelle du site. Juste un exemple utilisant jQuery:

// dont forget to include jQuery code
// preferably with .noConflict() in order not to break the site scripts
if (window.location.indexOf("mail.google.com") > -1) {
    // Lets login to Gmail
    jQuery("#Email").val("[email protected]");
    jQuery("#Passwd").val("superSecretPassowrd");
    jQuery("#gaia_loginform").submit();
}

Maintenant, enregistrez ceci comme par exemple login.js

Ensuite, créez un signet (dans n'importe quel navigateur) avec cette (comme) url:

javascript:document.write("<script type='text/javascript' src='file:///path/to/login.js'></script>");

Maintenant, lorsque vous allez sur Gmail et cliquez sur ce signet, vous serez automatiquement connecté par votre script.

Multipliez les blocs de code dans votre script, pour ajouter plus de sites de la même manière. Vous pouvez même la combiner avec la fonctionnalité window.open(...) pour ouvrir plus de sites, mais cela peut compliquer l'inclusion du script.

Remarque: Cela illustre seulement une idée et nécessite beaucoup de travail supplémentaire, ce n'est pas une solution complète.

13
mkilmanas

Le code ci-dessous fait exactement cela. Ce qui suit est un exemple de travail pour se connecter à un jeu. J'ai créé un fichier similaire pour me connecter à Yahoo et sur un forum kurzweilai.net.

Copiez simplement le formulaire de connexion à partir du code source de n'importe quelle page Web. Ajoutez value = "votre nom d'utilisateur" et value = "votre mot de passe". Normalement, les éléments - input - dans le code source n'ont pas l'attribut value, et parfois, vous verrez quelque chose comme ça: value = ""

Enregistrez le fichier au format html sur une machine locale, double-cliquez dessus ou créez un fichier bat/cmd pour le lancer et fermez-le si nécessaire.

    <!doctype html>
    <!-- saved from url=(0014)about:internet -->

    <html>
    <title>Ikariam Autologin</title>
    </head>
    <body>
    <form id="loginForm" name="loginForm" method="post"    action="http://s666.en.ikariam.com/index.php?action=loginAvatar&function=login">
    <select name="uni_url" id="logServer" class="validate[required]">
    <option  class=""  value="s666.en.ikariam.com" fbUrl=""  cookieName=""  >
            Test_en
    </option>
    </select>
    <input id="loginName" name="name" type="text" value="PlayersName" class="" />
    <input id="loginPassword" name="password" type="password" value="examplepassword" class="" />
    <input type="hidden" id="loginKid" name="kid" value=""/>
                        </form>
  <script>document.loginForm.submit();</script>       
  </body></html>

Notez que -script- est juste -script-. J'ai trouvé qu'il n'est pas nécessaire de préciser qu'il s'agit de JavaScript. Cela fonctionne quand même. J'ai également découvert qu'une version simple qui ne contient que deux fichiers d'entrée: nom d'utilisateur et mot de passe fonctionne également. Mais j'ai laissé un champ de saisie masqué, etc. au cas où. Yahoo mail a beaucoup de champs cachés. Certains concernent le cryptage des mots de passe, et il compte les tentatives de connexion.

Les avertissements de sécurité et d'autres membres du personnel, comme Mark of the Web, pour le faire fonctionner en douceur dans IE sont expliqués ici:

http://happy-snail.webs.com/autologinintogames.htm

8
qwerty jones

J'ai utilisé la réponse de @ qwertyjones pour automatiser la connexion à Oracle Agile avec un mot de passe public.

J'ai enregistré la page de connexion sous index.html, Modifié tous les champs href= Et action= Pour avoir l'URL complète du serveur Agile.

La ligne clé <form> Devait passer de

<form autocomplete="off" name="MainForm" method="POST"
 action="j_security_check" 
 onsubmit="return false;" target="_top">

à

<form autocomplete="off" name="MainForm" method="POST"
 action="http://my.company.com:7001/Agile/default/j_security_check"   
 onsubmit="return false;" target="_top">

J'ai également ajouté cet extrait à la fin du <body>

<script>
function checkCookiesEnabled(){ return true; }
document.MainForm.j_username.value = "joeuser";
document.MainForm.j_password.value = "abcdef";
submitLoginForm();
</script> 

J'ai dû désactiver la vérification des cookies en redéfinissant la fonction qui a effectué la vérification, car je l'hébergeais à partir de XAMPP et je ne voulais pas y faire face. L'appel submitLoginForm() a été inspiré par l'inspection de la fonction keyPressEvent().

2
Mark Lakata

Vous pouvez utiliser Autohotkey, le télécharger à partir de: http://ahkscript.org/download/

Après l'installation, si vous souhaitez ouvrir le site Web de Gmail lorsque vous appuyez sur Alt+g, vous pouvez faire quelque chose comme ceci:

!g::
Run www.gmail.com 
return

Référence supplémentaire: raccourcis clavier (raccourcis souris, joystick et clavier)

1
Muhammad_Daka

Eh bien, c'est vrai que nous pouvons utiliser Vb Script pour ce que vous aviez l'intention de faire. Nous pouvons ouvrir une application via le code comme Internet Explorer. Nous pouvons naviguer vers le site que vous souhaitez. Plus tard, nous pouvons vérifier les noms d'élément des zones de texte qui nécessitent un nom d'utilisateur et un mot de passe; peut définir puis et puis Connexion. Cela fonctionne très bien en utilisant du code.

Aucune interaction manuelle avec le site Web. Et vous finirez par vous connecter en double-cliquant simplement sur le fichier.

Pour commencer:

Set objIE = CreateObject("InternetExplorer.Application")

Call objIE.Navigate("https://gmail.com")

Cela ouvrira une instance d'Internet et explorera gmail. Repos, vous pouvez apprendre et appliquer.

1
grd