webdevqa.jp.net

Firefoxにユーザー名/パスワードフォームに自動的に入力して送信させるにはどうすればよいですか?

スタッフラウンジには、会社のお知らせを表示する大型テレビ付きのパソコンを設置しました。通知は本社の外部SharePointページに公開され、Firefox(v33.0.3)のあるラウンジに表示されます。毎朝起動してFirefoxを起動するようにPCを設定しましたが、SharePointページには認証が必要なため、手動でログインする必要があります。

enter image description here

また、ReloadEveryを使用して5分ごとにページをリロードし、新しいコンテンツを表示しますが、セッションは約30分間しか続かず、再度ログインする必要があります。

これを自動化して、Firefoxがこのページに遭遇するたびに、ログオンIDとパスワードを自動的に入力して送信するようにします。

同様の質問への回答は、オートフィルフォームアドオンを示唆していますが、そのページが読み込まれたときにユーザー名/パスワードを入力したり送信したりすることはありません。それでも[自動入力]ボタンをクリックしてから[送信]をクリックする必要があります。機能リストには、フォームを自動的に送信できるとも記載されていますが、これを有効にする場所が見つかりません。

右クリックして[フォームの詳細を表示]を選択すると、次のように表示されます。

enter image description here

ページのソースコード:

<!DOCTYPE html>
<!-- template name: html.form.login.template.html -->
<html lang="en" dir="ltr">
<head>
    <script type="text/javascript">
        function postOk()
        {
            document.forms[0]['pf.ok'].value = 'Login';
            document.forms[0].submit();
        }

        function postOnReturn(e)
        {
            var keycode;
            if (window.event) keycode = window.event.keyCode;
            else if (e) keycode = e.which;
            else return true;

            if (keycode == 13)
            {
                document.forms[0].submit();
                return false;
            }
            else
                return true;
         }

         function setFocus()
         {
            var platform = navigator.platform;
            if(platform != null && platform.indexOf("iPhone") == -1)
            {
              document.getElementById('username').focus();
            }
         }

    </script>
    <base href="https://our.company.web.address.com/"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <meta name="viewport" content="minimum-scale=0.1, maximum-scale=2.0, user-    scalable=1"/>
    <title>Our Company Name</title>
    <link rel="stylesheet" media="all" type="text/css" href="assets/css/screen.1.css"/>
    <link rel="shortcut icon" href="assets/images/favicon.ico" />
</head>     
<body onload="setFocus()">
<div class="ping-container">
    <div class="ping-header">
        <div class="ping-header-bg">
            <div class="COMPANY-name"><a href="http://our.company.web.address.com/"><img src="assets/images/agencyname.png" alt="Our motto"></a></div>
        </div>
    </div><!-- .ping-header -->
    <div class="ping-body-container" >
        <div id="content-left">
        </div>
        <div class="ping-body">
            <div style="display:none">html.form.login.template.info.4 $escape.escape($spEntityId)</div>
            <form method="POST" action="/idp/7krkY/resumeSAML20/idp/SSO.ping" autocomplete="off">
                <div style="padding: 0px 5px 14px; font-size: 110%">

                </div>
                <div style="margin-bottom: 12px; font-size: 84%; font-weight: bold;"><span>Logon ID</span>
                <input id="username" type="text" size="36" name="pf.username" value="" autocorrect="off" autocapitalize="off" onKeyPress="return postOnReturn(event)" /><!---->    </div>
                <div style="font-size: 84%; font-weight: bold;"><span>Password</span>
                <input id="password" type="password" size="36" name="pf.pass" onKeyPress="return postOnReturn(event)" autocomplete="off"/></div>
                                <div class="ping-buttons">
                    <input type="button" name="pf.ok" onclick="postOk();" value="Login"/>
                </div><!-- .ping-buttons -->
            </form>
        </div><!-- .ping-body -->
        <div id="logonHelp">
            <h4>
                Our Company Name
            </h4>

            <p>
                The section of the website you are trying to access requires a 
                Logon ID and password. 
            </p>
            <p>
                If you have forgotten your Logon ID and/or password please
                contact {redacted phone number}
            </p>
        </div>
    </div><!-- .ping-body-container -->
    <div class="ping-footer-container">
        <div class="ping-footer">
           <p><a href="http://our.company.web.address.com/home/copyr.html">Copyright</a> 
            | <a     href="http://our.company.web.address.com/home/copyr.html#disclaimer">Disclaimer</a> 
            | <a href="http://our.company.web.address.com/home/privacy.html">Privacy</a> 
            | <a href="http://our.company.web.address.com/about/access/keys.html" accesskey="0">Access keys</a> 
            | <a href="http://our.company.web.address.com/other_languages/index.html"><img src="assets/images/icon-

flags.gif" alt="">Other languages</a></p> 
            <p></p> 
            <p></p> 
        </div><!-- .ping-footer -->
    </div><!-- .ping-footer-container -->
</div><!-- .ping-container -->
</body>
</html>

SharePointシステムにアクセスできません。

Firefoxにこのユーザー名/パスワードフォームに自動的に入力して送信させるにはどうすればよいですか?

3
x-x

1つの解決策は、ログインフォームのコピーとフォームを自動的に送信するための追加のJavaScriptを使用してローカルHTMLファイルを作成することです。ユーザー名とパスワードをフォーム入力に追加します(例:value="MYUSERNAME")。

次のようにローカルファイルを変更します。

62行目:

<input id="username" type="text" size="36" name="pf.username" value="MYUSERNAME"  autocorrect="off" autocapitalize="off" onKeyPress="return postOnReturn(event)" />

64行目:

<input id="password" type="password" size="36" name="pf.pass" onKeyPress="return postOnReturn(event)" autocomplete="off" value="MYPASSWORD" />

そして、99行目以降(</body>タグの前)に挿入します。

<script type="text/javascript">
postOk();
</script>

これにより、ファイルが開かれたときにフォームが自動送信されます。最後のステップは、ファイルをFirefoxのホームページとして設定することです。

2
jjz