<br> <input type="text" id="userName" name="userName" value="${username }" placeholder="用戶名"> <br> <input type="password" id="pwd" name="pwd" maxLength="50" value="${password }" placeholder="密碼"> <br> <label for="remember-me"> <input name="aaaa" type="checkbox" onclick="remember();"> 記住密碼 </label>
js代碼:
$(document).ready(function(){ //記住密碼功能 var str = getCookie("loginInfo"); str = str.substring(1,str.length-1); var username = str.split(",")[0]; var password = str.split(",")[1]; //自動填充用戶名和密碼 $("#userName").val(username); $("#pwd").val(password); }); //獲取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) return c.substring(name.length, c.length); } return ""; } //記住密碼功能 function remember(){ var remFlag = $("input[type='checkbox']").is(':checked'); if(remFlag==true){ //如果選中設置remFlag為1 //cookie存用戶名和密碼,回顯的是真實的用戶名和密碼,存在安全問題. var conFlag = confirm("記錄密碼功能不宜在公共場所(如網吧等)使用,以防密碼泄露.您確定要使用此功能嗎?"); if(conFlag){ //確認標志 $("#remFlag").val("1"); }else{ $("input[type='checkbox']").removeAttr('checked'); $("#remFlag").val(""); } }else{ //如果沒選中設置remFlag為"" $("#remFlag").val(""); } }
后台:
//用戶名 String name = request.getParameter("userName"); //密碼 String passWord = request.getParameter("pwd"); //記住用戶名、密碼功能(注意:cookie存放密碼會存在安全隱患) String remFlag = request.getParameter("remFlag"); if("1".equals(remFlag)){ //"1"表示用戶勾選記住密碼 /*String cookieUserName = Utils.encrypt(name); String cookiePwd = Utils.encrypt(passWord); String loginInfo = cookieUserName+","+cookiePwd;*/ String loginInfo = name+","+passWord; Cookie userCookie=new Cookie("loginInfo",loginInfo); userCookie.setMaxAge(30*24*60*60); //存活期為一個月 30*24*60*60 userCookie.setPath("/"); response.addCookie(userCookie); }