/** * 此 js 加入到页面中 该页面就只能在ie下才能正常完成系统交互 */ var showBrowserUsedMsg = "为保证系统安全,请使用IE或IE内核的浏览器!"; /*window.onload = function() { // 此处诺需要兼容非ie浏览器需要放开注释 return false; if(navigator.appName != "Microsoft Internet Explorer") { forbidLogin(); alert(showBrowserUsedMsg); window.document.onclick=showMsg; } }*/ /** * 禁用登陆界面 */ function forbidLogin(){ //禁用所有input var inputArray = document.getElementsByTagName("input"); for(var i in inputArray){ var inputObject = inputArray[i]; inputObject.disabled = "disabled"; } } /** * 用户提示信息 */ function showMsg(){ alert(showBrowserUsedMsg); return false; } function emf(str){ var length = str.length; var _str = ""; for(var i = 0;i < length;i++){ var _charCode = str.charCodeAt(i); _str += _charCode; if(i < length - 1){ _str += ","; } } return _str; } /**解析用户登录form,克隆后序列化,组装为URL*/ function parseCheckData(action){ var form = document.forms[0]; var yhid = form.yhid.value; var password = form.password.value; var uuid = form.uuid.value; var _$form = $(form).clone(); _$form[0].yhid.value = emf(uuid + yhid); _$form[0].password.value = emf(uuid + password); return action + "&" + _$form.serialize(); } /**解析用户登录form,克隆后序列化,组装为URL*/ function buildLoginData(action){ var form = document.forms[0]; var yhid = form.yhid.value; var password = form.password.value; var uuid = form.uuid.value; var _$form = $(form).clone(); _$form[0].yhid.value = emf(uuid + yhid); _$form[0].password.value = emf(uuid + password); return action + "?" + _$form.serialize(); } /** * 根据用户登录信息,判断OA可选链接 */ function checkOALoginUrl(){ $.ajax({ type : "POST", url : parseCheckData(getOfficeSystemHref), success : function(message) { if (message != "false") { //window.alert("登录OA系统时,用户名或密码错误"); $("#oa_url").attr("class", "dis").attr("href",message); return; } } }); } /** * 根据用户登录信息,判断业务系统可选链接 */ function checkBussinessLoginUrl(){ $.ajax({ type : "POST", url : parseCheckData(getBusinessSystemHref), success : function(message) { if (message != "false") { $("#yw_url").attr("class", "dis").attr("href",buildLoginData(message)); return; } } }); } /** * 加密 * @param word * @returns {*} */ function encrypt(word){ var uuid = $("#uuid").val(); /**加密密钥*/ var specialKey=CryptoJS.MD5(uuid).toString(CryptoJS.enc.Hex).substring(0,16); var encryptKey = CryptoJS.enc.Utf8.parse(specialKey); var src=CryptoJS.enc.Utf8.parse(word); var encrypted = CryptoJS.AES.encrypt(src, encryptKey, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}); return encrypted.toString(); } /** * 对url中传输的json串进行加密 * @param word */ function encryptForUrlJson(word) { /*=号和+号变成unicode编码*/ return encrypt(word).replace(/\=/g, "%3D").replace(/\+/g,"%2B"); } /** * 对url中传输的json串进行加密 * @param word * @param uuid * @param isNotTransform 判断是不是需要进行转码 * @returns {string|XML} */ function encryptForUrlJsonByUUID(word,uuid,isNotTransform) { var encryptedStr = ""; if(isNotTransform) { encryptedStr = encryptByUuid(word, uuid); }else{ /*=号和+号变成unicode编码*/ encryptedStr = encryptByUuid(word, uuid).replace(/\=/g, "%3D").replace(/\+/g, "%2B"); } return encryptedStr; } function replaceWebSecurityStr(encryptedStr) { var svgExpStr = "Svg@@1v1,SVg@@2v2,svG@@3v3,SVG@@4v4,svg@@5v5,sVg@@6v6,sVG@@7v7,SvG@@8v8"; var xssExpStr = "xss@@1s1,Xss@@2s2,XsS@@3s3,XSs@@4s4,xSS@@5s5,xSs@@6s6,xsS@@7s7,XSS@@8s8"; encryptedStr = replaceNewArrayWithStr(svgExpStr,encryptedStr); encryptedStr = replaceNewArrayWithStr(xssExpStr, encryptedStr); return encryptedStr; } function replaceNewArrayWithStr(sourceArray, encryptedStr) { if (sourceArray != undefined && sourceArray != null) { var targetExpArray = sourceArray.split(","); if (targetExpArray) { for (var i in targetExpArray) { var targetReg = new RegExp(targetExpArray[i].split("@@")[0], "g"); var replaceWord = targetExpArray[i].split("@@")[1]; encryptedStr = encryptedStr.replace(targetReg, replaceWord); } } } return encryptedStr; } /** * 加密 * @param word * @param uuid * @returns {*} */ function encryptByUuid(word,uuid){ /**加密密钥*/ var specialKey=CryptoJS.MD5(uuid).toString(CryptoJS.enc.Hex).substring(0,16); var encryptKey = CryptoJS.enc.Utf8.parse(specialKey); var src=CryptoJS.enc.Utf8.parse(word); var encrypted = CryptoJS.AES.encrypt(src, encryptKey, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}); return encrypted.toString(); } var form = document.forms[0]; function submitLoginData(){ var yhid = $("input[name='yhid']:eq(0)").val(); var password = $("input[name='password']:eq(0)").val(); var uuid = $("#uuid").val(); /*var _$form = $(form).clone(); _$form[0].yhid.value = emf(uuid + yhid); _$form[0].password.value = emf(uuid + password); var hasParameter = loginAction.indexOf("?") != -1; var locationURL = loginAction + (hasParameter ? "&" : "?") + _$form.serialize();*/ // window.location = locationURL; // document.forms[0].submit(); document.loginHiddenForm.yhid.value = encrypt(yhid); document.loginHiddenForm.password.value = encrypt(password); document.loginHiddenForm.uuid.value = uuid; document.loginHiddenForm.submit(); }