自動化輸入 Juniper SSL-VPN 網頁方式的登入資訊

本工具提供自動化輸入 Juniper SSL-VPN 網頁方式的登入資訊,如「username」與「驗證碼」欄位,減少您重複過多的文字輸入,請依實際需求稍做調整。

  • :!: 本工具適用於對 JavaScript 熟悉之使用者。
  • 本範例適用於 Firefox 網頁瀏覽器,請先安裝 Greasemonkey 附加元件,以利支援使用額外之 JavaScript 來達成自動化輸入。
  • 測試環境為 Fedora 16,Firefox 8.0,Greasemonkey 0.9.13。

1. 安裝 Greasemonkey 附加元件

  • 開啟附加元件管理員,輸入 greasemonkey 關鍵字搜尋。
  • 安裝 Greasemonkey 附加元件後,記得重新啟動 Firefox 以利新附加元件生效。

2. 新增使用者腳本

  • 於功能表選單中的「工具」→「Greasemonkey」→「新增此用者腳本」。
  • 依序輸入以下資訊,名稱、命名空間、包含 (為適用之網址範圍)。
  • 包含有:https://sslvpn9.twaren.net/dana-na/auth/*/welcome.cgi

3. 複製貼上 JavaScript 程式碼

  • 請將以下程式碼複製貼上至編輯器內 (本範例使用之編輯器為 gedit):
  • JavaScript 程式碼:
// ==UserScript==
// @name           SSL-VPN Auto Captcha
// @namespace      autoCaptcha
// @include        https://sslvpn9.twaren.net/dana-na/auth/*/welcome.cgi
// ==/UserScript==
 
// Author: Hsieh, Li-Yi
// Last Modified: 2011/12/10 13:30
 
function auto_captcha() {
    var captcha_objs   = null; // array => txtCaptcha
    var txt_input_objs = null; // array => txtInput
    var username_objs  = null; // array => username
 
    var captcha_val    = null; // store captcha value
    var txt_input      = null; // txtInput object
 
    captcha_objs   = document.getElementsByName('txtCaptcha');
    txt_input_objs = document.getElementsByName('txtInput');
    username_objs  = document.getElementsByName('username');
 
    // auto set txtCaptcha field
    if (captcha_objs.length && txt_input_objs.length) {
        txt_input = txt_input_objs.item(0);
        captcha_val = captcha_objs.item(0).value;
 
        if ((txt_input != null) && (captcha_val != null)) {
            txt_input.value = captcha_val;
        }
    }
 
    // auto set username field
    if (username_objs.length) {
        var text = document.body.innerHTML;
        text = text.replace(/<\/?[a-z][a-z0-9]*[^<>]*>/ig, "");
        text = text.match(/@[a-z0-9\.]+/i);
 
        username_objs.item(0).value = text;
        username_objs.item(0).focus();
    }
}
 
// run after page loaded
function init() {
    if (window.attachEvent) {
        window.attachEvent('onload', auto_captcha);
    } else {
        window.addEventListener('load', auto_captcha, false);
    }
}
 
// main function
init();

4. 檢視自動輸入功能是否運作

  • 請連線至 https://sslvpn9.twaren.net/nthu,檢視是否出現如下的畫面,其中可看到「username」與「驗證碼」欄位已自動填入,如此每次登入將減少輸入此類資訊。