Um die Funktion „Passwort merken“ zur Anmeldeoberfläche hinzuzufügen, dachte ich zunächst daran, Cookies im Java-Hintergrund aufzurufen, um das Kontopasswort zu speichern, ungefähr wie folgt:
HttpServletRequest request HttpServletResponse response Cookie username = new Cookie("username ","cookievalue"); Cookie password = new Cookie("password ","cookievalue"); response.addCookie(username ); response.addCookie(password );
Aber aus Sicherheitsgründen sind die meisten Passwörter, die wir im Hintergrund erhalten, durch MD5 in js verschlüsselter Chiffretext. Wenn Sie den Chiffretext in ein Cookie einfügen, hat dies keine Auswirkungen, wenn Sie ihn erhalten js;
Dann erwägen Sie den Zugriff auf Cookies in js. Der Code lautet wie folgt:
//设置cookie var passKey = '4c05c54d952b11e691d76c0b843ea7f9'; function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+d.toUTCString(); document.cookie = cname + "=" + encrypt(escape(cvalue), passKey) + "; " + expires; } //获取cookie function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for(var i=0; i<ca.length; i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1); if (c.indexOf(name) != -1){ var cnameValue = unescape(c.substring(name.length, c.length)); return decrypt(cnameValue, passKey); } } return ""; } //清除cookie function clearCookie(cname) { setCookie(cname, "", -1); }
if($('#rememberMe').is(':checked')){ setCookie('customername', $('#username').val().trim(), 7) setCookie('customerpass', $('#password').val().trim(), 7) }
$(function(){ //获取cookie var cusername = getCookie('customername'); var cpassword = getCookie('customerpass'); if(cusername != "" && cpassword != ""){ $("#username").val(cusername); $("#password").val(cpassword); } }