6

私の仕事で私が書いたかなりの数のGreaseMonkeyスクリプトがあり、私たちがここにある内部サイトに自動的にログインします。私はHTTP認証を使用するタイムシートアプリケーションを除いて、これらのサイトのほとんどのスクリプトを作成しました。HTTP認証を使用して自動ログインするGreaseMonkeyスクリプト

GreaseMonkeyを使用して自動的にこのサイトにログインする方法はありますか?

編集:私はブラウザの店舗パスワード機能を認識していますが、スクリプトはさらに読み込み時にサイトにログインしているかどうかを確認してから(HTMLをトラバースして)ログインに投稿を送信しますページ。これにより、サイトを読み込んでログインページを入力し、自分の資格情報を入力してから投稿を打つ手順が削除されます。

答えて

6

「認証」HTTPヘッダーを設定することでHTTP認証を使用してログインすることができます。このヘッダーの値は文字列「基本ユーザー名:パスワード」に設定されていますが、「ユーザー名:パスワード」部分は文字列ベース64がエンコードされます。

http://frontier.userland.com/stories/storyReader$2159

あなたはGM_xmlhttpRequest

と呼ばれるサーバーにGET/POSTリクエストを送信することができますどこのGreaseMonkeyがそれに組み込まれたAAの機能を有することを見出した研究のビットは

http://diveintogreasemonkey.org/api/gm_xmlhttprequest.html

だから、一緒にすべてを置きます(文字列をbase64に変換するこのJavaScriptコードを取得すると、次のようになります。

http://www.webtoolkit.info/javascript-base64.html

var loggedInText = document.getElementById('metanav').firstChild.firstChild.innerHTML; 
if (loggedInText != "logged in as jklp") { 
    var username = 'jklp'; 
    var password = 'jklpPass'; 
    var base64string = Base64.encode(username + ":" + password); 

    GM_xmlhttpRequest({ 
     method: 'GET', 
     url: 'http://foo.com/trac/login', 
     headers: { 
      'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey/0.3', 
      'Accept': 'application/atom+xml,application/xml,text/xml', 
      'Authorization':'Basic ' + base64string, 
     } 
    }); 
} 

私は今、サイトを訪問したときにそう、それはDOMを横断し、私がログインしていないよ場合、それは自動的に私を記録します。

1

Firefoxを使用して(あなたがFirefoxを使用していると仮定して)パスワードマネージャー?

私はこのリンクを見つけました:HTTP Authentication with HTML Forms。 HTTP認証を行うためにjavascriptを使用できるように見えます。私はあなたが最初にURLにナビゲートしているときにあなたがGreasemonkey割り込みを持つことができるとは思わない。あなたはgreasemonkeyが自動的に+ loginをリダイレクトするのに使うことができるいくつかの種類の起動ポイントを設定しなければならないかもしれません。たとえば、クエリー文字列の宛先URLを取得するローカルページを作成し、Greasemonkeyで自動的にauthenticate + redirectを実行させることができます。唯一の問題は、エントリポイントとして使用するブックマークの起動ページでサイトブックマークをラップする必要があることです。

1

HTTP認証情報は、ログインするだけでなく、すべての要求で送信されます。ブラウザは初めてログインした後にセッションのログイン情報をキャッシュします。だから、あなたは本当にあなたがすでにログインしているかどうかをチェックするために試みることによって何かを保存しない

また、完全にグリースモンキーを忘れると、ちょうどそのようなURLににあなたのログインを与えることができる:。

http://username:[email protected]/ 

もちろん、これをブックマークに保存することは、セキュリティ上のリスクになる可能性がありますが、パスワードをブラウザに保存するよりも重要です。

関連する問題