自動化輸入 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」與「驗證碼」欄位已自動填入，如此每次登入將減少輸入此類資訊。

參考資料

Greasemonkey

Greasemonkey :: Firefox 附加元件