web-dev-qa-db-ja.com

Windowsマシン上のWebサイトの自動ログインスクリプト?

誰かがファイルを持っているのを見ました(バッチファイルだと思います)。バッチファイルをクリックすると、彼は複数のサイトにログインできました。 (おそらく、VBを使用して行われました。)

Googleでそのようなスクリプトを探しましたが、有用なものは見つかりませんでした。

私はC++とUNIXを少し知っています(HTMLとJavaScriptもいくつか)。これらの言語を使用してWindowsマシンで実行できるかどうかはわかりませんが、実行できたとしても、VBまたはC ##または他の高いレベル言語。

次のようなバッチファイルに含まれる基本的なWindowsバッチコマンドを使用して、複数のサイトを開く方法を学びました。

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

しかし、実際にバッチファイルをクリックすると、ユーザー名とパスワードを入力しなくてもサイトにログインするのにどのように役立つかわかりません。

これを行うには、Visual Basic、.NET、またはWindowsバッチプログラミングの学習を開始する必要がありますか?

もう1つ:リモートデスクトップへのログインにも使用できますか?

20
munish

「自動ログイン」という用語から、ここではセキュリティ(パスワード保護)は重要ではないと思います。

ソリューションのガイドラインは、JavaScriptブックマークを使用することです( M&MのDKサイト で公開されたNiceゲームからのアイデアを借りました)。

アイデアは、javascriptファイルを作成してローカルに保存することです。現在のサイトアドレスに応じてログインデータの入力を行う必要があります。 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();
}
_

これを_login.js_という名前で保存します

次に、(任意の)URLを使用して(任意のブラウザーで)ブックマークを作成します。

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

これで、Gmailに移動してこのブックマークをクリックすると、スクリプトによって自動的にログインされます。

同様の方法でサイトを追加するには、スクリプトのコードブロックを乗算します。さらにwindow.open(...)機能と組み合わせてより多くのサイトを開くこともできますが、それによりスクリプトの包含がより複雑になる可能性があります。

注:これはアイデアを示しているだけであり、さらに多くの作業が必要です。完全なソリューションではありません。

13
mkilmanas

以下のコードはまさにそれを行います。以下は、ゲームにログインするための実際の例です。同様のファイルを作成して、Yahooとkurzweilai.netフォーラムにログインしました。

ログインフォームをウェブページのソースコードからコピーするだけです。値=「ユーザー名」と値=「パスワード」を追加します。通常、ソースコード内の-input-要素にはvalue属性がありませんが、そのようなものが表示される場合があります:value = ""

ファイルをローカルマシン上のhtmlとしてダブルクリックして保存するか、bat/cmdファイルを作成して起動し、必要に応じて閉じます。

    <!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>

-script-は単なる-script-であることに注意してください。 JavaScriptであることを指定する必要はありません。とにかく動作します。また、2つの入力フィールド(userNameとpassword)のみを含む必要最低限​​のバージョンも機能することがわかりました。しかし、念のため隠し入力フィールドなどを残しました。 Yahooメールには多くの隠しフィールドがあります。パスワードの暗号化に関するものもあり、ログイン試行をカウントします。

セキュリティ警告と、IEでスムーズに動作させるためのWeb of Markのような他のスタッフについて説明します。

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

8
qwerty jones

@qwertyjonesの回答を使用して、パブリックパスワードを使用したOracle Agileへのログインを自動化しました。

ログインページを_index.html_として保存し、_href=_および_action=_フィールドをすべて編集して、アジャイルサーバーへの完全なURLを設定しました。

変更するのに必要なキー_<form>_行

_<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">
_

また、このスニペットを_<body>_の最後に追加しました

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

私はこれをXAMPPからホストしており、それを処理したくないので、チェックを行った関数を再定義することでCookieチェックを無効にする必要がありました。 submitLoginForm()呼び出しは、keyPressEvent()関数の検査に触発されました。

2
Mark Lakata

Autohotkeyを使用して、次からダウンロードできます。 http://ahkscript.org/download/

インストール後に、を押してGmailウェブサイトを開く場合 Alt+g、次のようなことができます:

!g::
Run www.gmail.com 
return

詳細なリファレンス: ホットキー(マウス、ジョイスティック、キーボードショートカット)

1
Muhammad_Daka

さて、あなたが意図したことのためにVb Scriptを使用できることは事実です。 Internet Explorerなどのコードを使用してアプリケーションを開くことができます。目的のサイトに移動できます。後で、ユーザー名とパスワードが必要なテキストボックスの要素名を確認できます。その後、設定してからログインできます。すべてのコードを使用して正常に動作します。

ウェブサイトとの手動のやり取りはありません。そして最終的には、ファイルをダブルクリックするだけでサインインすることになります。

開始するには:

Set objIE = CreateObject("InternetExplorer.Application")

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

これにより、Internet Explorerのインスタンスが開き、Gmailに移動します。あなたが学び、適用できる残り。

1
grd