深信服论坛自动登录,使用前请设置账号密码
// ==UserScript==
// @name Sangfor BBS Auto Login
// @name:zh-CN 深信服论坛自动登录
// @namespace daizp
// @version 0.6.0
// @description 深信服论坛自动登录,使用前请设置账号密码
// @author daizp
// @include http://bbs.sangfor.com.cn/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var username = "username";
var password = "password";
//判断账号密码是否为默认
if(username == "username" || password == "password"){
return false;
}
//判断当前页面
switch(location.pathname){
case "/plugin.php":
switch(getQueryString("id")){
case "common_plug:raffle":
//签到页
signPage();
break;
default:
//首页
mainPage();
break;
}
break;
case "/member.php":
switch(getQueryString("mod")){
case "logging":
//首页
autoFillIn();
break;
}
break;
}
function mainPage(){
//寻找用户登录信息
if(document.getElementsByClassName("col-xs-4")[0]){
if(document.getElementsByClassName("col-xs-4")[0].getElementsByClassName("username")[0]){
//已登录
autoSign();
}else{
//未登录
//判断是否已经自动登录
if(getQueryString("alreadyLogin") == "yes"){
//已自动登录
alert("登录失败");
window.location = "member.php?mod=logging&action=login";
}else{
//未自动登录
autoLogin();
}
}
}
}
function autoLogin(){
//生成表单
var tempForm = document.createElement("form");
tempForm.id = "tempForm";
tempForm.method = "post";
tempForm.target = "tempFrame";
tempForm.action = "member.php?mod=logging&action=login&loginsubmit=yes&handlekey=post&loginhash=LdQ3k&inajax=1";
//来源页输入框
var tempInput1 = document.createElement("input");
tempInput1.type = "hidden";
tempInput1.name = "referer";
tempInput1.value = "http://bbs.sangfor.com.cn/plugin.php?id=info:index";
tempForm.appendChild(tempInput1);
//用户名输入框
var tempInput2 = document.createElement("input");
tempInput2.type = "hidden";
tempInput2.name = "username";
tempInput2.value = username;
tempForm.appendChild(tempInput2);
//密码输入框
var tempInput3 = document.createElement("input");
tempInput3.type = "hidden";
tempInput3.name = "password";
tempInput3.value = password;
tempForm.appendChild(tempInput3);
//结果iframe
var tempFrame = document.createElement("iframe");
tempFrame.name = "tempFrame";
tempFrame.id = "tempFrame";
tempFrame.onload = reloadMainPage;
//添加frame到页面
document.body.appendChild(tempFrame);
//登录事件
tempForm.submit();
}
function reloadMainPage(){
//转到首页并防止连续自动登录
window.location = "plugin.php?id=info:index&alreadyLogin=yes";
}
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r !== null) return unescape(r[2]);
return null;
}
function autoSign(){
if(document.getElementsByClassName("btn sign-btn")[0].getElementsByClassName("sign-info has_sign")[0]){
//已签到
}else{
//未签到
//设置cookie
var signhash = document.getElementsByClassName("btn sign-btn")[0].getElementsByTagName("input")[0].value;
//生成表单
var tempForm = document.createElement("form");
tempForm.id = "tempForm";
tempForm.method = "post";
tempForm.target = "tempFrame";
tempForm.action = "plugin.php?id=sign:index&op=sign";
//来源页输入框
var tempInput1 = document.createElement("input");
tempInput1.type = "hidden";
tempInput1.name = "hash";
tempInput1.value = signhash;
tempForm.appendChild(tempInput1);
//用户名输入框
var tempInput2 = document.createElement("input");
tempInput2.type = "hidden";
tempInput2.name = "ajaxdata";
tempInput2.value = "json";
tempForm.appendChild(tempInput2);
//结果iframe
var tempFrame = document.createElement("iframe");
tempFrame.name = "tempFrame";
tempFrame.id = "tempFrame";
//添加frame到页面
document.body.appendChild(tempFrame);
//登录事件
tempForm.submit();
//2秒后跳转到签到页
setTimeout(toSignPage,2000);
}
}
function toSignPage(){
//跳转到签到页,准备抽奖
//window.location = 'plugin.php?id=sign:index';//0.5.2版本方法
window.location = 'plugin.php?id=common_plug:raffle';
}
function signPage(){
var times = document.getElementsByClassName("raffle-wrap")[0].getElementsByClassName("text-center text-white")[0].getElementsByClassName("text-warning-light")[2].innerHTML;
if(times == "1次"){
//抽奖
document.getElementsByClassName("raffle-con-btn")[0].click();
}
}
/*
* 0.5.2版本方法
function signPage(){
if(document.getElementsByClassName("orange-btn start ng-scope")[0]){
//未抽奖
//结果iframe
var tempFrame = document.createElement("iframe");
tempFrame.name = "tempFrame";
tempFrame.id = "tempFrame";
//添加frame到页面
document.body.appendChild(tempFrame);
//frame发送开始抽奖请求
document.getElementById("tempFrame").src = "plugin.php?id=sign:index&op=times&_"+(new Date()).valueOf();
//1秒后停止抽奖
setTimeout(stopLottery,1000);
}
}
function stopLottery(){
//发送停止抽奖请求
document.getElementById("tempFrame").src = "plugin.php?id=sign:index&op=stop&_="+(new Date()).valueOf();
//主页面跳转到抽奖页
window.location = "plugin.php?id=sign:index";
}*/
function autoFillIn(){
var secretStr = document.getElementsByClassName("member-box-inner")[0].getElementsByTagName("div")[0].id.substr(-5);
document.getElementById("username_" + secretStr).value = username;
document.getElementById("password3_" + secretStr).value = password;
}
})();