//--------------------init.js 开始-------------------------- var AJAX_IS_ALERT = 0; var err_num_base = -40000; var lang_xmlHttp = new Object(); var host_url_sv = "https://localhost:7443/"; /*用户名密码自动填充功能 start*/ var powered_up = 'off'; var res_auto_open = 'off'; var keep_line = 'off'; var pro_auto_run = ''; var pro_auto_run_param = ''; var style_color = getCookie("portal_style"); if (style_color == '') { style_color = '#ad1d21'; } function proxyCheckSwitch(flag) { var proxy_addr = getCookie("proxy_server"); var proxy_port = getCookie("proxy_port"); if (proxy_addr && proxy_port) { $('#' + flag).attr('checked', true); } } function passWordAutoFillLogin() { var url = host_url_sv + "api/v1/client_system_config"; var addr = window.location.host; var dataStr = { method:"client_system_config", addr:addr } $.ajax({ url: url, type: 'POST', data: JSON.stringify(dataStr), success: function (data) { if (data.auto_login == 'on') { $('#name_1').val(CryptoJS.enc.Base64.parse(unescape(data.username)).toString(CryptoJS.enc.Utf8)); $('#pwd_1').val(CryptoJS.enc.Base64.parse(unescape(data.password)).toString(CryptoJS.enc.Utf8)); var url = window.location.toString(); if (url.lastIndexOf('??') <= 0 && data.login_way == 'user_pwd') { setTimeout(function () { $('#submitLogin').click(); }, 600) } } if (data.login_way_switch == 'on') { if (data.login_way == 'user_pwd') $('#pwdMethod').click(); else if (data.login_way == 'cert') $('#certMethod').click(); else if (data.login_way == '2FA') $('#twofactorMethod').click(); else if (data.login_way == 'qrcode') $('#qrcode').click(); } }, error: function (XMLHttpRequest, textStatus, errorThrown) { console.error('client_system_config request error'); } }); } /*用户名密码自动填充功能 end*/ function getXmlHttp() { var xHttp; if (window.ActiveXObject) { try { xHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { xHttp = false; } } else { try { xHttp = new XMLHttpRequest(); } catch (e) { xHttp = false; } } return xHttp; } //取字符串字节长度 String.prototype.getByteLength = function () { return this.replace(/[^\x00-\xff]/g, "00").length; } //对每个文件都起作用的对象 var eachfile = new Object(); eachfile.log = function (src) { window.status = src; } eachfile.mouse_lock_portal = function () { //锁定鼠标右键,适用于portal页面 function nocontextmenu() { return false; } document.oncontextmenu = nocontextmenu; } eachfile.mouse_lock = function () { //锁定鼠标右键 if (window.Event) document.captureEvents(Event.MOUSEUP); function nocontextmenu() { event.cancelBubble = true; event.returnValue = false; return false; } function norightclick(e) { if (window.Event) { if (e.which == 2 || e.which == 3) return false; } else if (event.button == 2 || event.button == 3) { event.cancelBubble = true; event.returnValue = false; return false; } } document.oncontextmenu = nocontextmenu; document.onmousedown = norightclick; this.log(MOUSE_LOCK_MSG); } //--------------------init.js 结束-------------------------- //------------------------login_err_msg.js 开始 ------------------------------- var VONE_LOGIN_MIN_USERNAME = 1; var VONE_LOGIN_MAX_USERNAME = 127; var VONE_LOGIN_MIN_PASSWORD = 1; var VONE_LOGIN_MAX_PASSWORD = 63; var Vone_Login_Equ_Validate = 16; var sv_error = new Object(); sv_error.zh = 0; sv_error.msg = { server: { relogin: ["重复登录", "Repeatedly login "], hideser: ["SSL VPN正在工作,请不要重复登录", "SSL VPN is working, please do not duplicate login"], nc: ["独立客户端已启动,此时不允许登录", "SV client started, this time does not allow to login"], port: ["独立客户端已启动,此时不允许登录", "SV client started, this time does not allow to login "], init: ["初始化失败", "Initialization defeat"], vrc: ["VRC客户端正在运行,此时不允许登录", "VRC is working, please do not duplicate login"], scbk: ["SCB2KEY不存在,禁止登录!", "SCB2KEY does not exist, forbids to register!"] }, info: { title: ["公告信息:", "Announcement: "] }, error: { title: ["错误提示:", "Error: "], errproxy: ["代理服务用户名密码错误,请退出后重新设置", "The proxy service user famous password is wrong, after please withdraw, reset"] }, sso: { errset: ["SSO 配置错误", "SSO Disposition mistake "], success: ["更新服务器成功!", "update success!"], failed: ["请求发送失败!", "the request failed!"], allow: ["最多只允许添加100条!", "Most only allows to increase 100! "], spatial: ["所填内容不能为空!", "Fills in the content not to be able for spatial! "], repeat: ["资源重复配置!", "Duplication of resources allocation! "], toolong: ["所填内容超出允许长度!", "Fills in the content to surpass the permission length !"], nochar: ["所填内容含有不允许的字符!", "Fills in the character which the content includes does not permit !"] }, nc: { nostart: ["全网接入功能未启用", "netconnect not start"] }, title: { errcode: ["错误码:", "Error code:"], errmsg: ["错误信息:", "Error info:"], def: ["服务器端出错,请联系管理员", "The server end makes a mistake, please contact with the manager"] }, plugin: { err8: ["获取session id cookie出错,请清空浏览器缓存后重新登录!", "get session id cookie error"], err9: ["由session id获取session出错,请清空浏览器缓存后重新登录! ", "get session by session id error"], err40: ["获取缺省门户信息出错,请清空浏览器缓存后重新登录!", "get default infomation info error"], err65: ["获取门户信息失败,请清空浏览器缓存后重新登录!", "get portal infomation error"] }, auth: { err1015: ["可信认证检查失败", "Credible authentication inspection defeat"], err1016: ["唯一识别码检查失败", "Only identification code inspection defeat"], err1020: ["80端口未启用 禁止使用80端口", "80 ports have not begun using forbid to use 80 ports "] }, file: { err1017: ["文件共享分析失败", "File sharing analysis defeat "] }, acl: { err1018: ["ACL检查失败", "ACL inspection defeat "] }, session: { err1012: ["SESSION超时,请重新登录", "The SESSION overtime, please register"], err1013: ["SESSION无效或取不到SESSION", "SESSION invalid or does not take SESSION "] } }; sv_error.init = function () { var value; var mycookies = document.cookie; var ckname = "topsecsvuilanguage"; var start = mycookies.indexOf(ckname + "=", 0) + ckname.length + 1; if (start != ckname.length) { var end = mycookies.indexOf(";", start); if (end == -1) { value = unescape(mycookies.substring(start, mycookies.length)); } else { value = unescape(mycookies.substring(start, end)); } } if (value == "english") { sv_error.zh = 1; } else { sv_error.zh = 0; } } //---------------------- login_err_msg.js 结束---------------------------------- //--------------------login.js 开始-------------------------- //登录页面用到的对象 var login = new Object(); login.mlink_isshow = false; login.cert_isshow = true; login.user_tag = true; login.validate_tag = true; login.cert_mode = 1; login.first_run = 1; login.xmlHttp; login.cert_xmlHttp; login.init_xmlHttp; login.err_num = 0; var twofactor_username_set_default = 0; var g_switch_html_notice = false; //获取 Cookies function setCookie(sName, str) { document.cookie = sName + "=" + escape(str) + "; expires=Fri, 31 Dec 2100 23:59:59 GMT; path=/;"; } function getCookie(str) { var value = ""; var mycookies = document.cookie; var ckname = str; //下发的cookie名 var start = mycookies.indexOf(ckname + "=", 0) + ckname.length + 1; if (start == ckname.length) { value = ""; } else { var end = mycookies.indexOf(";", start); if (end == -1) { value = unescape(mycookies.substring(start, mycookies.length)); } else { value = unescape(mycookies.substring(start, end)); } } return value; } function del_cookies(ck_name) { var sValue = ""; document.cookie = ck_name + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;"; } function check_cookies() { if (getCookie("login_err_num") == -1) { setCookies(); } } function proxy_input_disable(tag, cls) { document.getElementById("proxy_server").disabled = tag; document.getElementById("proxy_server").className = cls; document.getElementById("proxy_port").disabled = tag; document.getElementById("proxy_port").className = cls; document.getElementById("proxy_user").disabled = tag; document.getElementById("proxy_user").className = cls; document.getElementById("proxy_pass").disabled = tag; document.getElementById("proxy_pass").className = cls; document.getElementById("proxy_domain").disabled = tag; document.getElementById("proxy_domain").className = cls; if (tag) { document.getElementById("anonymous_opt").style.display = ""; } else { document.getElementById("anonymous_opt").style.display = "none"; } } function show_proxy() { document.getElementById("div_mask1").style.display = "block"; document.getElementById("proxy").style.display = "block"; document.getElementById("proxy_btn_ok").value = BTN_OK; document.getElementById("proxy_btn_reset").value = PROXY_RESET; document.getElementById("proxy_btn_cls").value = BTN_CLOSE; var proxy_type = getCookie("proxy_type"); if (proxy_type == "1") { document.getElementById("proxy_type").selected = PROXY_OPTION_SOCKS; document.getElementById("proxy_type").value = 1; proxy_input_disable(false, "white_txt_box"); $("#proxy_type option[value='1']").attr("selected", "selected"); } else if (proxy_type == "2") { document.getElementById("proxy_type").selected = PROXY_OPTION_HTTPS; proxy_input_disable(false, "white_txt_box"); $("#proxy_type option[value='2']").attr("selected", "selected"); } else if (proxy_type == "3") { document.getElementById("proxy_type").selected = PROXY_OPTION_SOCKS; proxy_input_disable(false, "white_txt_box"); $("#proxy_type option[value='3']").attr("selected", "selected"); } else { document.getElementById("proxy_type").value = PROXY_OPTION_HTTPS; proxy_input_disable(false, "white_txt_box"); } document.getElementById("proxy_server").value = getCookie("proxy_server"); document.getElementById("proxy_port").value = getCookie("proxy_port"); document.getElementById("proxy_user").value = getCookie("proxy_user"); document.getElementById("proxy_pass").value = getCookie("proxy_pass"); document.getElementById("proxy_domain").value = getCookie("proxy_domain"); } function del_value() { document.getElementById("proxy_server").value = ""; document.getElementById("proxy_port").value = ""; document.getElementById("proxy_user").value = ""; document.getElementById("proxy_pass").value = ""; document.getElementById("proxy_domain").value = ""; } function proxy_save() { var proxy_type = document.getElementById("proxy_type").value; var proxy_server = document.getElementById("proxy_server").value; var proxy_port = document.getElementById("proxy_port").value; setCookies("proxy_type", proxy_type); setCookies("proxy_server", proxy_server); setCookies("proxy_port", proxy_port); setCookies("proxy_user", document.getElementById("proxy_user").value); setCookies("proxy_pass", document.getElementById("proxy_pass").value); setCookies("proxy_domain", document.getElementById("proxy_domain").value); document.getElementById("div_mask1").style.display = "none"; document.getElementById("proxy").style.display = "none"; } function proxy_del(tp, sv, pt, u, p, dm) { if (tp) { del_cookies("proxy_type"); } if (sv) { del_cookies("proxy_server"); document.getElementById("proxy_server").value = ""; } if (pt) { del_cookies("proxy_port"); document.getElementById("proxy_port").value = ""; } if (u) { del_cookies("proxy_user"); document.getElementById("proxy_user").value = ""; } if (p) { del_cookies("proxy_pass"); document.getElementById("proxy_pass").value = ""; } if (dm) { del_cookies("proxy_domain"); document.getElementById("proxy_domain").value = ""; } } function proxy_cert_do(tag) { if (tag) { document.getElementById("proxy_user").disabled = false; document.getElementById("proxy_user").className = "white_txt_box"; document.getElementById("proxy_pass").disabled = false; document.getElementById("proxy_pass").className = "white_txt_box"; document.getElementById("radio_val").value = "yes"; } else { document.getElementById("proxy_user").disabled = true; document.getElementById("proxy_user").className = "gray_txt_box"; document.getElementById("proxy_pass").disabled = true; document.getElementById("proxy_pass").className = "gray_txt_box"; document.getElementById("radio_val").value = "no"; } } function proxy_close() { document.getElementById("div_mask1").style.display = "none"; document.getElementById("proxy").style.display = "none"; } var custom_help_url = ""; function open_login_help() { if (custom_help_url != "") { window.open(custom_help_url, "", ""); return; } } function reset_default_value(id) { $("#" + id).val(''); } function show_reset_btn(type, id) { if (type == 'name') { $("#name_" + id + "_btn").show(); $("#pwd_" + id + "_btn").hide(); } else { $("#name_" + id + "_btn").hide(); $("#pwd_" + id + "_btn").show(); } } /***** 显示登录输入框 **********/ var auth_protocol = 0; //默认国际类型 var gid; //验证码是否开启 var cert_list = ''; var auth_port; var data_port; var data_protocol; var cert_type; var gidauto; //定义全局变量记录验证码开启状态 var vpn_version; var linux_url; var mac_url; var android_url; var ios_url; var show_mac_client; var flag_mobile_qrcode; var webvpn; //webvpn开关 var brower_check_version = 0; function init_login() { if (login.init_xmlHttp.readyState == 4) { if (login.init_xmlHttp.status == 200) { var return_Value; try { return_Value = eval('(' + login.init_xmlHttp.responseText + ')'); } catch (ex) {} if (return_Value == "undefined") { showPopMessage('info', "您的浏览器不支持AJAX!"); return false; } var show_tab_1 = "yes", show_tab_2 = "yes", show_tab_3 = "yes"; cert_list = return_Value.ca_list; auth_protocol = return_Value.auth_protocol; auth_port = return_Value.auth_port; data_port = return_Value.data_port; data_protocol = return_Value.data_protocol; android_url = return_Value.android_url; ios_url = return_Value.ios_url; mac_url = return_Value.mac_url; linux_url = return_Value.linux_url; vpn_version = return_Value.vpn_version; cert_type = return_Value.cert_type; webvpn = return_Value.webvpn; //ip访问用户登录通过客户端认证 if (check_IP(window.location.hostname)) { setCookie('webvpn_na', 'on'); } setCookie('webvpn', webvpn); var webvpn_na = getCookie('webvpn_na'); if (webvpn == 'on') { if (webvpn_na == 'on') { brower_check_version = 1; $("#auth_more").css("display", "none"); $("#login_method").css("display", "block"); $('#qrcode').css('display', 'block'); } else { brower_check_version = 0; $("#auth_more").css("display", "block"); $("#login_method").css("display", "none"); $('#qrcode').css('display', 'none'); var session_id = getCookie('topafasfasfassession_id'); setCookie('login_type', 'webvpn'); if (session_id != '') { var user_name = getCookie("radius_U"); login.webvpnGetSessionId(user_name,session_id); } } } else { brower_check_version = 1; $("#auth_more").css("display", "none"); $("#login_method").css("display", "block"); $('#qrcode').css('display', 'block'); } if (brower_check_version) { setTimeout(function () { login_check_after(1); }, 400); } gid = return_Value.gid; if (return_Value.show_android_client == "off") { flag_mobile_qrcode = 1; document.getElementById("android_qrcode").style.display = "none"; } else { flag_mobile_qrcode = 2; document.getElementById("android_qrcode").style.display = "block"; } if (return_Value.show_ios_client == "off") { flag_mobile_qrcode = 1; document.getElementById("ios_qrcode").style.display = "none"; } else { flag_mobile_qrcode = 2; document.getElementById("ios_qrcode").style.display = "block"; } if (return_Value.pswd == "off") { document.getElementById("pwdMethod").style.display = "none"; show_tab_1 = "no"; } if (return_Value.cert == "off") { document.getElementById("certMethod").style.display = "none"; show_tab_2 = "no"; } if (return_Value.twofactor == "off") { document.getElementById("twofactorMethod").style.display = "none"; show_tab_3 = "no"; } // 根据网关配置显示匿名登录与否 if (return_Value.anony_switch == "on") { document.getElementById("submit_anonym").style.display = ""; document.getElementById("submit_anonym").value = LOGIN_SUBMIT_ANONYM; } // 只需要用户输入口令,不需要提供用户名信息 if (return_Value.twofactor_hide == "off") { twofactor_username_set_default = 1; } if (show_tab_1 == "no" && show_tab_2 == "yes") { document.getElementById("login_form").style.display = "none"; document.getElementById("cert_form").style.display = "block"; } else if (show_tab_1 == "no" && show_tab_3 == "yes") { document.getElementById("login_form").style.display = "none"; document.getElementById("twofactor_form").style.display = "block"; document.getElementById("twofactor_user_input").style.display = "block"; value_show(); } if (return_Value.gid == "auto") { var errnum = getCookie("login_err_sum"); if ((errnum == null) || (errnum == "")) //应对cookie被清空的情况 { document.getElementById("valid").value = "no"; document.getElementById("con_one_1_validate").style.display = "none"; } else if (parseInt(errnum) <= 2) { document.getElementById("valid").value = "no"; document.getElementById("con_one_1_validate").style.display = "none"; } else { document.getElementById("valid").value = "yes"; document.getElementById("con_one_1_validate").style.display = "block"; document.getElementById("identifying_code").click(); } } else if (return_Value.gid == "on") { document.getElementById("valid").value = "yes"; document.getElementById("con_one_1_validate").style.display = "block"; //只有在GID 开启时才向服务器请求 document.getElementById("identifying_code").click(); } //链路选择 if (return_Value.mlink == "auto") { var str_url = window.location.toString(); if (str_url.lastIndexOf("?") > 0 && str_url.lastIndexOf("??") <= 0) { try { document.getElementById("speedbyhand_1").style.display = "none"; window.open("vone/mlink/index.html?", "", "height=400,width=500,top=205, left=250,toolbar=no,menubar=no,scrollbars=no,resizable=yes,location=no,status=no,titlebar=no"); } catch (ex) { } } else { window.open("vone/mlink/index.html?", "", "height=400,width=500,top=205, left=250,toolbar=no,menubar=no,scrollbars=no,resizable=yes,location=no,status=no,titlebar=no"); } } else if (return_Value.mlink == "mual") { login.mlink_isshow = true; var str_url = window.location.toString(); if (str_url.lastIndexOf("?") > 0 && str_url.lastIndexOf("??") <= 0) { try { document.getElementById("speedbyhand_1").style.display = "none"; } catch (ex) { } } else { try { document.getElementById("speedbyhand_1").style.display = "block"; } catch (ex) { } } } else if (return_Value.mlink == "off") { try { document.getElementById("speedbyhand_1").style.display = "none"; } catch (ex) { } } //输出证书按钮 if (return_Value.cert == "off") { login.cert_isshow = false; } //url_usbkey if (return_Value.url_usbkey == "") { } else { document.getElementById('usb_key_d').style.display = 'block'; document.getElementById('usb_key_a').href = return_Value.url_usbkey; } if (return_Value.html_notice_switch == "on") { g_switch_html_notice = true; login.usepwd_show(); } try { custom_help_url = return_Value.help_url; open_login_help(); } catch (e) { } if (get_client_type["system"].win) { check_version1 = return_Value.win_version; } else { check_version1 = return_Value.mac_version; } //兼容sm2 plus if (vpn_version == 'sm2plusvone') { $('#qrcode_phone').css('display', 'none'); $('#android_qrcode').css('display', 'none'); $('#ios_qrcode').css('display', 'none'); } } } } //end init_login function get_auth_param(obj_id) { login.init_xmlHttp = getXmlHttp(); login.init_xmlHttp.open("POST", "/vone/login/auth_param", true); login.init_xmlHttp.onreadystatechange = init_login; login.init_xmlHttp.send(null); } //logo 输出 login.usepwd_show = function () { var notice = "sv_pronouncement_login.html"; if (g_switch_html_notice) { if (window.navigator.appName == "Microsoft Internet Explorer") { try { showModalDialog(notice, 'newwindow', 'height=600, width=800, top=20, left=20, toolbar=no, menubar=no, scrollbars=yes, resizable=no,location=no, status=no'); } catch (e) { } } else { window.open(notice, 'newwindow', 'height=600, width=800, top=20, left=20, toolbar=no, menubar=no, scrollbars=yes, resizable=no,location=no, status=no'); } } } function init_login_qrcode() { if (login.init_xmlHttp.readyState == 4) { if (login.init_xmlHttp.status == 200) { var return_Value; try { return_Value = eval('(' + login.init_xmlHttp.responseText + ')'); } catch (ex) { } if (return_Value == "undefined") { showPopMessage('info', "您的浏览器不支持AJAX!"); return false; } android_url = return_Value.android_url; ios_url = return_Value.ios_url; mac_url = return_Value.mac_url; show_android_client = return_Value.show_android_client; show_ios_client = return_Value.show_ios_client; show_mac_client = return_Value.show_mac_client; if (return_Value.show_android_client == "off") { flag_mobile_qrcode = 1; document.getElementById("android_icon").style.display = "none"; } else { flag_mobile_qrcode = 2; document.getElementById("android_icon").style.display = "block"; } if (return_Value.show_ios_client == "off") { flag_mobile_qrcode = 1; document.getElementById("ios_icon").style.display = "none"; } else { flag_mobile_qrcode = 2; document.getElementById("ios_icon").style.display = "block"; } try { custom_help_url = return_Value.help_url; } catch (e) { } } } } function get_auth_param_qrcode(obj_id) { login.init_xmlHttp = getXmlHttp(); login.init_xmlHttp.open("POST", "/vone/login/auth_param", true); login.init_xmlHttp.onreadystatechange = init_login_qrcode; login.init_xmlHttp.send(null); } function undisabled() { $("#name_" + id + "_btn").show(); $("#pwd_" + id + "_btn").hide(); var nm_3 = document.getElementById("name_3"); nm_3.className = "txt_black"; } function value_show(id) { var nm_3 = document.getElementById("name_3"); var s = nm_3.value; s = s.replace(/(^\s*)/g, ""); if (s.length == 0) { nm_3.value = LOGIN_VALUE_MSG; } else if (s == LOGIN_VALUE_MSG) { } //如果要隐藏用户名输入. if (1 == twofactor_username_set_default) { try { document.getElementById("tr_user_3").style.display = "none"; } catch (e) { } try { document.getElementById("td_txt_user_3").style.display = "none"; document.getElementById("td_lable_user_3").style.display = "none"; } catch (e) { } } else { try { document.getElementById("tr_user_3").style.display = ""; } catch (e) { } try { document.getElementById("td_txt_user_3").style.display = ""; document.getElementById("td_lable_user_3").style.display = ""; } catch (e) { } } } /******************* WEBVPN认证处理 开始*************************/ login.webvpnGetSessionId = function (userName,sessionId) { var session_id = 'UNAME=' + escape(userName) + '&PSESS=' + escape(sessionId); xmlHttp_n.onreadystatechange = login.webvpnSetSessionIdAfter; xmlHttp_n.open("POST", "/vone/portal/user_op_param_sessionid", false); xmlHttp_n.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=UTF-8;'); xmlHttp_n.send(session_id); } login.webvpnSetSessionIdAfter = function(){ if (xmlHttp_n.readyState == 4 && xmlHttp_n.status == 200) { window.location.href = "./vone/portal/index.html"; } } /******************* WEBVPN认证处理 结束*************************/ /******************* 短信认证 处理开始 *************************/ var xmlHttp_n = getXmlHttp(); var IEver = IEVersion(); var timer = null; login.getSession_id = function () { login_btn_click_control = false; var na_switch = 'off'; function client_na_switch_info() { $.ajax({ url: host_url_sv + 'api/v1/get_config_info', type: 'POST', async: false, data: JSON.stringify({ method: "get_config_info" }), dataType: 'json', success: function (data) { na_switch = data.user_param.netacc; }, error: function (xmlHttpRequest, textStatus, errorThrown) { console.error(xmlHttpRequest); } }) } client_na_switch_info(); if (na_switch == 'off') { window.location.href = "./vone/portal/index.html"; } else { if (IEver > 9 || IEver == -1) { timer = setInterval(function () { if (login.checkNaStatus()) { clearInterval(timer); window.location.href = "./vone/portal/index.html"; } }, 800); } else { window.location.href = "./vone/portal/index.html"; } } } var myTime = ""; var topsec_error_times = 1; //下发认证错误次数,从cookie中获取 login.submit_sugges = function () { //根据协议获取端口信息 var auth_port_url = window.location.port; var data_port_url = window.location.port; if (auth_protocol == 0) { if (auth_port_url == '' || auth_port_url == null) { auth_port_url = '443'; data_port_url = '443'; } } else { auth_port_url = auth_port; data_port_url = data_port; } var d = new Date(); var sms_time = 0; sms_time = Math.ceil((d.getTime() - myTime) / 1000); topsec_error_times--; var sms = document.getElementById("sms_txt").value; if (!sms.trim()) { document.getElementById("div_mask1").style.display = "none"; $("#sugges").css('display', 'none'); showPopMessage('info', '请输入短信验证码'); return false; }else{ $("#sugges").css('display', 'none'); login_msg_win('on')//显示登陆等待框 var chk_sms_url = host_url_sv + "api/v1/chk_sms"; var proxy_type = getCookie("proxy_type"); var proxy_addr = getCookie("proxy_server"); var proxy_port = getCookie("proxy_port"); var proxy_user = getCookie("proxy_user"); var proxy_pwd = getCookie("proxy_pass"); var proxy_domain = getCookie("proxy_domain"); var pf_host = window.location.hostname; var pf_port = window.location.port; if (pf_port == "") { pf_port = "443"; } var chkSmsData = { method:"chk_sms", ctx_id:"", Challenge_state:"", topsecsvaaa:"", topsecsvccc:"", topsecsvddd:"", sms:sms, vpn_version:vpn_version, auth_protocol:auth_protocol, auth_port:auth_port_url, data_port:data_port_url, data_protocol:data_protocol, cert_type:cert_type }; $.ajax({ url: chk_sms_url, type: 'POST', data: JSON.stringify(chkSmsData), dataType: 'json', success: function (data) { if (data.err_code == 0) { login.getSession_id(); } else if (data.err_code == (err_num_base - 45)) { login_msg_win('off')//隐藏登陆等待框 $("#cert_list").css('display', 'none'); $('#cert_list_gm').css('display', 'none'); showPopMessage('error', data.err_code); } else if (data.err_code == (err_num_base - 44)) { login_msg_win('off')//隐藏登陆等待框 $("#cert_list").css('display', 'none'); $('#cert_list_gm').css('display', 'none'); if (login_con_type == 'con_one_3') { showPopMessage('error', SV_AUTH_SMS_TIMEOUT); } else if (login_con_type == 'con_one_2') { showPopMessage('error', SV_AUTH_SMS_TIMEOUT); } else { showPopMessage('error', SV_AUTH_SMS_TIMEOUT); } } else if (data.err_code == (err_num_base - 77)) { //增加功能:同一个用户设置了单地点登录,第一次登录后异常退出,第二次登录时候允许用户自己踢出前一个会话。 //点击确定按钮踢出 var username; var passwd; setTimeout(function () { login_msg_win('off')//隐藏登陆等待框 showPopMessage('infoBtn', ('用户已登录,' + '\n踢出上一次会话,继续登录请按“好”按钮,' + '\n返回登录页面请按“取消”按钮'), function (j) { if (j) { login_msg_win('on')//显示登陆等待框 var kickUserDataSms = { method:"kick_user", vone:{ addr:pf_host, port:pf_port, user:escape(username), pwd:escape(passwd) }, proxy:{ type:proxy_type, addr:proxy_addr, port:proxy_port, user:proxy_user, pwd:proxy_pwd, domain:proxy_domain }, vpn_version:vpn_version, auth_protocol:auth_protocol, auth_port:auth_port_url, data_port:data_port_url, data_protocol:data_protocol, cert_type:cert_type }; var kick_user_url = host_url_sv + "api/v1/kick_user"; $.ajax({ url: kick_user_url, type: 'POST', data: JSON.stringify(kickUserDataSms), dataType: 'json', success: function (data) { var ret_data = eval(data); if (ret_data.err_code == 0) { login.getSession_id(); } else { login_msg_win('off')//隐藏登陆等待框 showPopMessage('error', ret_data.err_code); } } }); } else { login.submit_close(); } }, true); }, 1000); } else { login.submit_close(); login_msg_win('off')//隐藏登陆等待框 showPopMessage('error', data.err_code); } } }); } } //关闭 login.submit_close = function () { login.close_b_body(); } /******************* 短信认证 处理结束 *************************/ /******************* 忘记密码 处理开始 *************************/ login.send_mail = function () { document.getElementById("div_mask1").style.display = "block"; document.getElementById("forget_pwd").style.display = "block"; document.getElementById("forget_pwd_msg").innerHTML = FORGET_PWD_MSG; document.getElementById("forget_pwd_submit").value = BTN_OK; document.getElementById("forget_pwd_close").value = BTN_CLOSE; set_identifying_code('forget_img'); img.onerror = function () { console.error('验证码加载失败'); } document.getElementById("forget_pwd_txt").value = ""; document.getElementById("forget_pwd_img").value = ""; } login.close_forget_pwd = function () { document.getElementById("div_mask1").style.display = "none"; document.getElementById("forget_pwd").style.display = "none"; var u_name = document.getElementById("name"); if ((u_name != "undefined") && (u_name != null)) { u_name.focus(); //输入框获得焦点 } } login.pwd_After = function (objValue,objBgColor) { var rt_val; if (login.getpwd_Http.readyState == 4) { if (login.getpwd_Http.status == 200) { find_pwd_request = 1; clearInterval(find_pwd_timer); $("#forget_pwd_submit").css('background-color',objBgColor); $("#forget_pwd_submit").val(objValue); if (login.getpwd_Http.responseText == "") { return false; } rt_val = eval('(' + login.getpwd_Http.responseText + ')'); if (rt_val.Ret == 0) { var str = (rt_val.Mail == "" ? ("Mobile:" + rt_val.Phone) : ("E-mail:" + rt_val.Mail)); login.close_forget_pwd(); set_identifying_code('forget_img'); showPopMessage('info', SV_AUTH_SEND_PSWD_SUCCESS + " " + str); } else if (rt_val.Ret == -40142) { var reset_left_time = getCookie('reset_left_time'); var lock_time = eval('(' + reset_left_time + ')'); login.close_forget_pwd(); showPopMessage('info', '距离下次重置密码剩余时间' + lock_time.lifetime + '秒'); setInterval(function () { lock_time.lifetime--; if (lock_time.lifetime >= 0) { $("#showMsgCountent").text('距离下次重置密码剩余时间' + lock_time.lifetime + '秒') } else { $(".closeWin").click(); clearInterval(); } }, 1000); } else { login.close_forget_pwd(); set_identifying_code('forget_img'); showPopMessage('error', rt_val.Ret); } } } } var find_pwd_request = 1; var find_pwd_timer; login.submit_forget_pwd = function () { var u_name = document.getElementById("forget_pwd_txt").value; var gid = document.getElementById("forget_pwd_img").value; var forget_pwd_url = ''; if (webvpn == 'on') { if (getCookie('webvpn_na') == "on") { var str = { method: 'find_pwd', U: escape(u_name), P: escape(gid) } str = JSON.stringify(str); forget_pwd_url = host_url_sv + 'api/v1/find_pwd'; } else { var str = 'U=' + escape(u_name) + '&GID=' + escape(gid); forget_pwd_url = '/vone/find_pswd'; } } else { var str = { method: 'find_pwd', U: escape(u_name), P: escape(gid) } str = JSON.stringify(str); forget_pwd_url = host_url_sv + 'api/v1/find_pwd'; } var objValue = $("#forget_pwd_submit").val(); var objBgColor = $("#forget_pwd_submit").css("background-color"); if(find_pwd_request == 1){ find_pwd_request = 0; $("#forget_pwd_submit").css('background-color','#ccc'); login.getpwd_Http = getXmlHttp(); login.getpwd_Http.open("POST", forget_pwd_url, true); login.getpwd_Http.setRequestHeader('Content-type','application/x-www-form-urlencoded;'); login.getpwd_Http.onreadystatechange = function () { login.pwd_After(objValue,objBgColor); } login.getpwd_Http.send(str); var countDown = 60; $("#forget_pwd_submit").val(countDown+'s'); find_pwd_timer = setInterval(function(){ if(countDown >= 0){ countDown--; $("#forget_pwd_submit").val(countDown+'s'); }else{ $("#forget_pwd_submit").css('background-color',objBgColor); $("#forget_pwd_submit").val(objValue); clearInterval(find_pwd_timer); find_pwd_request = 1; } },1000) } } /******************* 忘记密码 处理结束 *************************/ login.close_b_body = function () { document.getElementById("div_mask1").style.display = "none"; document.getElementById("first_modify_pwd").style.display = "none"; document.getElementById("sugges").style.display = "none"; } var sms_type = 0; //1-->口令认证;2-->证书认证;3-->双因子认证; // 用户名 check login.check_name = function (str, tab) { var mystr; mystr = str.getByteLength(); if (mystr < VONE_LOGIN_MIN_USERNAME || mystr > VONE_LOGIN_MAX_USERNAME) { showPopMessage('error', VONE_LOGIN_USERNAME_ERROR_LENGTH); return false; } var pattern = /^([\u4E00-\u9FA5]|[0-9]|[a-z]|[A-Z]|[_]|[+]|[@]|[.]|[ ]|[-]|[&])*$/; if (!pattern.test(str)) { showPopMessage('error', VONE_LOGIN_USERNAME_ERROR_RESTRICT); return false; } return true; } // 密码 check login.check_passwd = function (str, tab) { var mystr; mystr = str.length; if (mystr == 0) { //密码为空时 return false; } return true; } // 验证码 check login.check_validate = function (str, tab) { var pattern = /^([0-9]|[a-z]|[A-Z])*$/; if (pattern.test(str)) { return true; } else { showPopMessage('error', VONE_LOGIN_VALIDATE_ERROR_RESTRICT); return false; } } /******************* 用户名密码认证 开始 *************************/ //在短信认证界面添加倒计时 var msg = ""; var mytimer = ""; var maxtime = ""; function CountDown() { if (maxtime > 0 && topsec_error_times > 0) { minutes = Math.floor(maxtime / 60); seconds = Math.floor(maxtime % 60); msg = "您还有" + topsec_error_times + "次提交动态密码的机会;
" + "距离提交动态密码结束还有" + minutes + "分" + seconds + "秒;"; document.getElementById("sms_timer").innerHTML = msg; --maxtime; } else { clearInterval(mytimer); login.close_b_body(); } } function sms_time_show(sms_time) { document.getElementById("sms_timer").innerHTML = ""; clearInterval(mytimer); maxtime = sms_time //下发短信认证时间(单位s) mytimer = setInterval("CountDown()", 1000); } set_identifying_code = function (eid) { var proxy_type = getCookie("proxy_type"); var proxy_addr = getCookie("proxy_server"); var proxy_port = getCookie("proxy_port"); var proxy_user = getCookie("proxy_user"); var proxy_pwd = getCookie("proxy_pass"); var proxy_domain = getCookie("proxy_domain"); var host = window.location.hostname; var serverPort = window.location.port || "443"; //根据协议获取端口信息 var auth_port_url = window.location.port; var data_port_url = window.location.port; if (auth_protocol == 0) { if (auth_port_url == '' || auth_port_url == null) { auth_port_url = '443'; data_port_url = '443'; } } else { auth_port_url = auth_port; data_port_url = data_port; } if (webvpn == 'on') { if (getCookie('webvpn_na') == "on") { document.getElementById(eid).src = host_url_sv + "api/v1/get_gid" + "?serverAddr=" + host + "&serverPort=" + serverPort + "&vpn_version=" + vpn_version + "&auth_protocol=" + auth_protocol + "&auth_port=" + auth_port_url + "&data_port=" + data_port_url + "&data_protocol=" + data_protocol + "&cert_type=" + cert_type + "&proxyType=" + proxy_type + "&proxyAddr=" + proxy_addr + "&proxyPort=" + proxy_port + "&proxyUser=" + proxy_user + "&proxyPwd=" + proxy_pwd + "&proxyDomain=" + proxy_domain + "&rnd=" + Math.random(); } else { document.getElementById(eid).src = "/vone/login/gid" + "?rnd=" + Math.random(); } } else { document.getElementById(eid).src = host_url_sv + "api/v1/get_gid" + "?serverAddr=" + host + "&serverPort=" + serverPort + "&vpn_version=" + vpn_version + "&auth_protocol=" + auth_protocol + "&auth_port=" + auth_port_url + "&data_port=" + data_port_url + "&data_protocol=" + data_protocol + "&cert_type=" + cert_type + "&proxyType=" + proxy_type + "&proxyAddr=" + proxy_addr + "&proxyPort=" + proxy_port + "&proxyUser=" + proxy_user + "&proxyPwd=" + proxy_pwd + "&proxyDomain=" + proxy_domain + "&rnd=" + Math.random(); } } get_identifying_code = function (eid) { login.xmlHttp = getXmlHttp(); login.xmlHttp.open("GET", "/vone/login/gid", true); login.xmlHttp.onreadystatechange = set_identifying_code(eid); login.xmlHttp.send(); } //匿名登录flag var login_anonym_flag = 0; // 防止重复点击登录 var login_btn_click_control = true; var login_err_sum; //认证错误次数 var remember_pwd = 'off'; login.check_form = function (tab) { var oThis = this; var username; var passwd; var valid = document.getElementById("valid").value;//图形码是否已显示 var result = false; var proxy_type = getCookie("proxy_type"); var proxy_addr = getCookie("proxy_server"); var proxy_port = getCookie("proxy_port"); var proxy_user = getCookie("proxy_user"); var proxy_pwd = getCookie("proxy_pass"); var proxy_domain = getCookie("proxy_domain"); //根据协议获取端口信息 var auth_port_url = window.location.port; var data_port_url = window.location.port; if (auth_protocol == 0) { if (auth_port_url == '' || auth_port_url == null) { auth_port_url = '443'; data_port_url = '443'; } } else { auth_port_url = auth_port; data_port_url = data_port; } if ($('#remember_pwd').is(':checked')) { remember_pwd = 'on'; } else { remember_pwd = 'off'; } if (login_anonym_flag) { //登录页面匿名登录 username = "anonymous"; passwd = "111111"; } else { username = document.getElementById("name_1").value; passwd = document.getElementById("pwd_1").value; } setCookies("radius_U", username); //密码不能为空的处理 if (username.length == 0 || passwd.length == 0) { $("#submit_1").val(LOGIN_SUBMIT_1); showPopMessage('info', LOGIN_VALUE_PWD_MSG); return false; } setCookies("va_passwd", passwd); if (valid == "yes") { var validate = document.getElementById("validate_1").value; //验证码不能为空 if (validate == null || validate == "") { $("#submit_1").val(LOGIN_SUBMIT_1); showPopMessage('error', LOGIN_VALIDATE_NULL); return false; } result = this.check_name(username, tab) && this.check_passwd(passwd, tab) && this.check_validate(validate, tab); } else { result = this.check_name(username, tab) && this.check_passwd(passwd, tab); } username = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(username)); passwd = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(passwd)); if (result && login_btn_click_control) { login_btn_click_control = false; login_msg_win('on')//显示登陆等待框 var server_host = window.location.hostname; var server_port = window.location.port; if (server_port == "") { server_port = "443"; } var login_by_pwd_url = host_url_sv + "api/v1/login_by_pwd"; var sendData = { method:"login_by_pwd", vone:{ addr:server_host, port:server_port, user:escape(username), pwd:escape(passwd), }, proxy:{ type:proxy_type, addr:proxy_addr, port:proxy_port, user:proxy_user, pwd:proxy_pwd, domain:proxy_domain }, vpn_version:vpn_version, auth_protocol:auth_protocol, auth_port:auth_port_url, data_port:data_port_url, data_protocol:data_protocol, cert_type:cert_type, remember_pwd:remember_pwd }; oThis.kickUserDataPwd = sendData; if (valid == "yes") { sendData.gid = { cgid:"", 'gid':validate } } if (webvpn == 'on') { if (getCookie('webvpn_na') == "on") { setCookie('login_type', 'client'); } else { setCookie('login_type', 'webvpn'); login_by_pwd_url = "/vone/login/user_pswd"; if (valid == "yes") { sendData = 'U=' + escape(username) + '&P=' + escape(passwd) + '&Base64_U=' + escape(username) + '&Base64_P=' + escape(passwd) + '&cgid1=""' + '&gid=' + validate +'&is_wv=yes'; } else { sendData = 'U=' + escape(username) + '&P=' + escape(passwd) + '&Base64_U=' + escape(username) + '&Base64_P=' + escape(passwd)+'&is_wv=yes'; } } } else { setCookie('login_type', 'client'); } sendData = JSON.stringify(sendData) if (sendData.indexOf("+") != -1) { sendData = sendData.replace(/\+/g, "%2B"); } $.support.cors = true; $.ajax({ url: login_by_pwd_url, type: 'POST', data: sendData, dataType:'json', success: function (data) { var ret_value = data; var username = oThis.kickUserDataPwd.vone.user; var passwd = oThis.kickUserDataPwd.vone.pwd; if (webvpn == 'on') { if (getCookie('webvpn_na') != "on") { ret_value.err_code = ret_value.Ret; ret_value.session_id = ret_value.topafasfasfassession_id; if (ret_value.remember_url && ret_value.topafasfasfassession_id) { window.location.href = ret_value.remember_url; return false; } } } if (ret_value.err_code != 0) { login_btn_click_control = true; setCookie('login_err_sum', ret_value.login_err_num); login_msg_win('off')//隐藏登陆等待框 } if (ret_value.err_code == 0) { setCookie('login_err_sum', 0); setCookies("login_way", 'user_pwd'); var expire = ""; if (ret_value.account_end != 0) expire = "您的账号将于" + ret_value.account_end + "到期!\n"; if (ret_value.pwd_remind != 0) expire += "您的密码将在" + ret_value.pwd_remind + "天后过期,请及时修改!\n"; if (expire) setCookie('expire',expire); if (webvpn == 'on' && getCookie('webvpn_na') != "on") { // webvpn需要将session_id直接发送至网关 login.webvpnGetSessionId(username,ret_value.session_id); } else { login.getSession_id(); } } else if (ret_value.err_code == 10011) { window.location.href = './client_scan.html'; } else if (ret_value.err_code == (err_num_base - 16)) { $("#con_one_1_validate").show(); } else if (ret_value.err_code == (err_num_base - 20)) { var lock_time; if (getCookie('login_type') == 'webvpn') { lock_time = ret_value.locktime; } else { var tmpd = eval('(' + ret_value.err_msg + ')'); lock_time = tmpd.locktime } showPopMessage('info', AUTH_USER_PAUSE_LOCK + '剩余时间' + lock_time + '秒'); setInterval(function () { lock_time--; if (lock_time >= 0) { $("#showMsgCountent").text(AUTH_USER_PAUSE_LOCK + '剩余时间' + lock_time + '秒') } else { $(".closeWin").click(); clearInterval(); } }, 1000); } else if (ret_value.err_code == (err_num_base - 22)) { document.getElementById("div_mask1").style.display = "block"; document.getElementById("first_modify_pwd").style.display = "block"; document.getElementById("first_msg").innerHTML = AUTH_USER_NEED_CHG_PWD_FOR_TIMEOUT; document.getElementById("old_pwd").innerHTML = OLD_PWD; document.getElementById("first_pwd").innerHTML = NEW_PWD; document.getElementById("first_pwd_again").innerHTML = NEW_PWD_AGAIN; document.getElementById("u_name").value = ret_value.user_name; document.getElementById("first_pwd_btn").value = BTN_OK; document.getElementById("first_pwd_close").value = BTN_CLOSE; } else if (ret_value.err_code == (err_num_base - 23)) { document.getElementById("div_mask1").style.display = "block"; document.getElementById("first_modify_pwd").style.display = "block"; document.getElementById("first_msg").innerHTML = AUTH_USER_NEED_CHG_PWD_SIMPLE; document.getElementById("old_pwd").innerHTML = OLD_PWD; document.getElementById("first_pwd").innerHTML = NEW_PWD; document.getElementById("first_pwd_again").innerHTML = NEW_PWD_AGAIN; document.getElementById("u_name").value = ret_value.user_name; document.getElementById("first_pwd_btn").value = BTN_OK; document.getElementById("first_pwd_close").value = BTN_CLOSE } else if (ret_value.err_code == (err_num_base - 24)) { //第一次登录,请修改初始密码 document.getElementById("div_mask1").style.display = "block"; document.getElementById("first_modify_pwd").style.display = "block"; document.getElementById("first_msg").innerHTML = AUTH_USER_NEED_CHG_PWD_FOR_FIRST; document.getElementById("old_pwd").innerHTML = OLD_PWD; document.getElementById("first_pwd").innerHTML = NEW_PWD; document.getElementById("first_pwd_again").innerHTML = NEW_PWD_AGAIN; document.getElementById("u_name").value = ret_value.user_name; document.getElementById("first_pwd_btn").value = BTN_OK; document.getElementById("first_pwd_close").value = BTN_CLOSE } else if (ret_value.err_code == (err_num_base - 26)) { document.getElementById("valid").value = "yes"; $("#con_one_1_validate").show(); showPopMessage('error', AUTH_PSW_ERR_MORE_AND_NO_GID); } else if (ret_value.err_code == (err_num_base - 39)) { //口令短信认证或RADIUS认证 sms_type = 1; myTime = 0; var myDate = new Date(); myTime = myDate.getTime(); topsec_error_times = getCookie("topsecsvfff"); //从网关得到可以输入短信次数 var sms_time = getCookie("topsecsveee"); //从网关得到短信认证时间 if (sms_time) { sms_time_show(sms_time); } document.getElementById("div_mask1").style.display = "block"; document.getElementById("sugges").style.display = "block"; document.getElementById("sugges_tab").innerHTML = SUGGES_MSG; document.getElementById("sugges_submit").value = BTN_OK; document.getElementById("sugges_close").value = BTN_CLOSE; document.getElementById("sms_txt").value = ""; } else if (ret_value.err_code == (err_num_base - 77)) { //增加功能:同一个用户设置了单地点登录,第一次登录后异常退出,第二次登录时候允许用户自己踢出前一个会话。 //点击确定按钮踢出 setTimeout(function () { showPopMessage('infoBtn', '用户【' + CryptoJS.enc.Base64.parse(unescape(username)).toString(CryptoJS.enc.Utf8) + '】已登录,' + '\n踢出上一次会话,继续登录请按“确定”按钮,' + '\n返回登录页面请按“取消”按钮', function (f) { if (f) { login_msg_win('on')//显示登陆等待框 delete oThis.kickUserDataPwd.gid; oThis.kickUserDataPwd.method = "kick_user"; var kickUserDataPwd = JSON.stringify(oThis.kickUserDataPwd); var kick_user_by_pwd = host_url_sv + "api/v1/kick_user"; if (webvpn == 'on') { if (getCookie('webvpn_na') == "on") { setCookie('login_type', 'client'); } else { setCookie('login_type', 'webvpn'); kick_user_by_pwd = "/vone/login/user_pswd_r"; kickUserDataPwd = 'U=' + username + '&P=' + passwd + '&Base64_U=' + username + '&Base64_P=' + passwd; } } else { setCookie('login_type', 'client'); } $.ajax({ url: kick_user_by_pwd, type: 'POST', data: kickUserDataPwd, dataType: 'json', success: function (data) { var ret_data = eval(data); if (webvpn == 'on') { if (getCookie('webvpn_na') == "on") { if (ret_data.err_code == 0) { login.getSession_id(); } else { login_msg_win('off')//隐藏登陆等待框 showPopMessage('error', ret_data.err_code); } } else { if (ret_data.Ret == 0) { if (webvpn == 'on' && getCookie('webvpn_na') != "on") { // webvpn需要将session_id直接发送至网关 login.webvpnGetSessionId(username,ret_data.topafasfasfassession_id); } else { login.getSession_id(); } } else { login_msg_win('off')//隐藏登陆等待框 showPopMessage('error', ret_data.Ret); } } } else { if (ret_data.err_code == 0) { login.getSession_id(); } else { login_msg_win('off')//隐藏登陆等待框 showPopMessage('error', ret_data.err_code); } } } }); } else { document.getElementById("identifying_code").click(); } }, true); }, 1000); } else { document.getElementById("identifying_code").click(); showPopMessage('error', ret_value.err_code); } } }); } } var flag_login = false; login.checkNaStatus = function () { var url = host_url_sv + "api/v1/query_statistics"; var str = '{"method": "query_statistics"}'; $.ajax({ url: url, type: 'post', data: str, dataType: 'json', success: function (data) { if (data.terr_code == 0) { if (data.tstate_id == 6) { flag_login = true; } else { flag_login = false; } } else { flag_login = false; clearInterval(timer); login_msg_win('off')//隐藏登陆等待框 showPopMessage('error', data.terr_code); checkErrorLogout(); } } }); return flag_login; } login.anonym = function () { login_anonym_flag = 1; $("#submit_1").val(LOGINING_SUBMIT); login.check_form(); } function checkErrorLogout() { var url = host_url_sv + "api/v1/logout"; var str = '{"method":"logout"}'; try { $.support.cors = true; $.ajax({ url: url, type: 'POST', data: str, dataType: 'json', success: function (data) { window.location.href = "./index.html??"; }, error: function (data) { window.location.href = "./index.html??"; } }); } catch (e) { } } /******************* 用户名密码认证 结束 *************************/ // 2次密码是否相同 check login.check_dif = function (ft, ft_ag) { if (ft != ft_ag) { showPopMessage('error', LOGIN_FIRST_PWD_DIF_WARNIG); return false; } return true; } /******************* 首次登录修改密码 开始 *************************/ login.pwdAfter = function () { var ret_value; if (login.pwdXmlHttp.readyState == 4) { if (login.pwdXmlHttp.status == 200) { ret_value = eval('(' + login.pwdXmlHttp.responseText + ')'); if (ret_value.Ret == 0) { document.getElementById("pwd_1").value = ""; $("#first_modify_pwd").hide(); $("#div_mask1").hide(); showPopMessage('info', MOD_PWD_SUCCESS); } else { showPopMessage('error', ret_value.Ret); } } } } login.check_first_pwd = function () { var old_pwd = document.getElementById("old_pwd_txt").value; var ft_pwd = document.getElementById("first_pwd_txt").value; var ft_pwd_ag = document.getElementById("first_pwd_again_txt").value; var u_name = document.getElementById("u_name").value; if (login.check_passwd(old_pwd) && (login.check_dif(ft_pwd, ft_pwd_ag)) && (login.check_passwd(ft_pwd))) { u_name = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(u_name)); old_pwd = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(old_pwd)); ft_pwd = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(ft_pwd)); login.pwdXmlHttp = getXmlHttp(); if (getCookie('login_type') == 'webvpn') { var str_p = "U=" + escape(u_name) + "&P1=" + escape(old_pwd) + "&P2=" + escape(ft_pwd); login.pwdXmlHttp.open("POST", "/vone/chg_pwd", false); } else { var str_p = { method: 'chg_pwd', U: escape(u_name), P1: old_pwd, P2: ft_pwd } str_p = JSON.stringify(str_p); login.pwdXmlHttp.open("POST", host_url_sv + 'api/v1/chg_pwd', false); } login.pwdXmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;'); login.pwdXmlHttp.onreadystatechange = login.pwdAfter; login.pwdXmlHttp.send(str_p); } } /******************* 修改密码 结束 *************************/ //----------------------login.js结束 ------------------------------------------- function get_browser_type() { if (navigator.userAgent.indexOf("MSIE") > 0) { return "IE"; } if (navigator.userAgent.indexOf("Firefox") > 0) { return "Mozilla"; } if (navigator.userAgent.indexOf("Chrome") > 0) { return "Chrome"; } } //------------------login_style.html页面中的脚本 begin---------------------- function setCookies(set_name, set_value) { document.cookie = set_name + "=" + escape(set_value) + "; expires=Fri, 31 Dec 2100 23:59:59 GMT;"; } function setloginCookie(str) { document.cookie = "topsecsvportalstyle=" + escape(str) + "; expires=Fri, 31 Dec 2100 23:59:59 GMT; path=/;"; } function setportalCookie(str) { document.cookie = "portal_style=" + escape(str) + "; expires=Fri, 31 Dec 2100 23:59:59 GMT; path=/;"; } function setCookiesNoescape(set_name, set_value) { document.cookie = set_name + "=" + set_value + "; expires=Fri, 31 Dec 2100 23:59:59 GMT;"; } //------------------login_style.html页面中的脚本 end---------------------- function IEVersion() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器 var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1; if (isIE) { var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); if (fIEVersion == 7) { return 7; } else if (fIEVersion == 8) { return 8; } else if (fIEVersion == 9) { return 9; } else if (fIEVersion == 10) { return 10; } else { return 6; //IE版本<=7 } } else if (isEdge) { return 'edge'; //edge } else if (isIE11) { return 11; //IE11 } else { return -1; //不是ie浏览器 } } // 动态加载css文件 function loadStyles(url) { var link = document.createElement("link"); link.type = "text/css"; link.rel = "stylesheet"; link.href = url; document.getElementsByTagName("head")[0].appendChild(link); } function login_msg_win(status) { if(status == 'on'){ document.getElementById("div_mask1").style.display = "block"; $('.login_information').css('display', 'block'); }else{ document.getElementById("div_mask1").style.display = "none"; $('.login_information').css('display', 'none'); } } function check_IP(str) { var ipv4 = /^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$/; var ipv6 = /^\[|\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*|\]$/; if (ipv4.test(str) || ipv6.test(str)) { return true; }else{ return false; } } /* * jQuery placeholder, fix for IE6,7,8,9 * */ var JPlaceHolder = { //检测 浏览器是否支持placehoder _check : function(){ return 'placeholder' in document.createElement('input'); }, //初始化 init : function(){ if(!this._check()){ this.fix(); } }, //修复 fix : function(){ // 使用jquery 获取页面所有设置了placehoder的input jQuery(':input[placeholder]').each(function(index, element) { // 获取placeholder的文字 var self = $(this), txt = self.attr('placeholder'); // 在input外包裹一个相对定位用的div self.wrap($('
').css({position:'relative', zoom:'1', border:'none', background:'none', padding:'none', margin:'none'})); // 获取input的位置信息 var pos = self.position(), h = self.outerHeight(true), paddingleft = self.css('padding-left'), fontsize = self.css('font-size'); //alert(fontsize); // 在input的父元素里面加入span var holder = $('').text(txt).css({'position':'absolute', 'left':+pos.left+'px', 'top':pos.top+'px', 'height':h+'px', 'line-height':h+'px', 'padding-left':paddingleft+'px', 'font-size':fontsize, 'color':'#aaa'}).appendTo(self.parent()); // input获得焦点时 隐藏holder,失去焦点时如果input里没有内容显示holder self.focusin(function(e) { holder.hide(); }).focusout(function(e) { if(!self.val()){ holder.show(); } }); // holder被点击时隐藏,input获得焦点 holder.click(function(e) { holder.hide(); self.focus(); }); }); } }; //执行 jQuery(function(){ JPlaceHolder.init(); });