zoukankan      html  css  js  c++  java
  • 通过jquery.cookie.js实现记住用户名、密码登录功能

    Cookies

    定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术;

    下载与引入:jquery.cookie.js基于jquery;先引入jquery,再引入:jquery.cookie.js;

    下载:http://plugins.jquery.com/cookie/

    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/jquery.cookie.js"></script>

    1.添加一个"会话cookie"

    $.cookie('the_cookie', 'the_value');

    这里没有指明 cookie有效时间,所创建的cookie有效期默认到用户关闭浏览器为止,所以被称为 “会话cookie(session cookie)”。

    2.创建一个cookie并设置有效时间为 7天

    $.cookie('the_cookie', 'the_value', { expires: 7 });

    这里指明了cookie有效时间,所创建的cookie被称为“持久 cookie (persistent cookie)”。注意单位是:天;

    3.创建一个cookie并设置 cookie的有效路径

    $.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });

    在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突)。

    4.读取cookie

    $.cookie('the_cookie');

    5.删除cookie

    .cookie('the_cookie', null);   //通过传递null作为cookie的值即可

    6.可选参数

    $.cookie('the_cookie','the_value',{
        expires:7,  
        path:'/',
        domain:'jquery.com',
        secure:true
    }) 

    expires:(Number|Date)有效期;设置一个整数时,单位是天;也可以设置一个日期对象作为Cookie的过期日期;
    path:(String)创建该Cookie的页面路径;
    domain:(String)创建该Cookie的页面域名;
    secure:(Booblean)如果设为true,那么此Cookie的传输会要求一个安全协议,例如:HTTPS;

    代码示例:

    <!doctype html>
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
    <title>无标题文档</title>  
    <script src="jquery-1.8.3.min.js"></script>
    <script src="jquery.cookie.js"></script>
    <script src="jquery.base64.js"></script>
     
    <script language="javascript" type="text/javascript"> 
    function setCookie(){ //设置cookie  
             var loginCode = $("#login_code").val(); //获取用户名信息  
             var pwd = $("#login_password").val(); //获取登陆密码信息  
             var checked = $("[name='checkbox']:checked");//获取“是否记住密码”复选框
    
             if(checked){ //判断是否选中了“记住密码”复选框  
                $.cookie("login_code",loginCode);//调用jquery.cookie.js中的方法设置cookie中的用户名  
                $.cookie("pwd",$.base64.encode(pwd));//调用jquery.cookie.js中的方法设置cookie中的登陆密码,并使用base64(jquery.base64.js)进行加密  
             }else{   
                $.cookie("pwd", null);   
             }    
        }   
        function getCookie(){ //获取cookie  
             var loginCode = $.cookie("login_code"); //获取cookie中的用户名  
             var pwd =  $.cookie("pwd"); //获取cookie中的登陆密码  
             if(pwd){//密码存在的话把“记住用户名和密码”复选框勾选住  
                $("[name='checkbox']").attr("checked","true");  
             }  
             if(loginCode){//用户名存在的话把用户名填充到用户名文本框  
                $("#login_code").val(loginCode);  
             }  
             if(pwd){//密码存在的话把密码填充到密码文本框  
                $("#login_password").val($.base64.decode(pwd)); 
             }  
        }   
    function login(){   
        var userName = $('#login_code').value;  
        if(userName == ''){  
            alert("请输入用户名。");  
            return;  
        }  
        var userPass = $('#login_password').value;  
        if(userPass == ''){  
            alert("请输入密码。");  
            return;  
        }  
        //判断是否选中复选框,如果选中,添加cookie
        if($("[name='checkbox']").attr("checked","true")){  
            //添加cookie  
            setCookie();  
            alert("记住密码登录。");  
            window.location = "http://www.baidu.com";  
        }else{  
            alert("不记密码登录。");  
            window.location = "http://www.baidu.com";  
        }  
    }  
    </script>  
    </head>  
    <body onload="getCookie();">  
    <center>  
        <table width="400px" height="180px" cellpadding="0" cellspacing="0" border="1" style="margin-top:100px;">  
            <tr>  
                <td align="center" colspan="2">欢迎登录</td>  
            </tr>  
            <tr>  
                <td align="right">  
                    <label>用户名:</label>  
                </td>  
                <td align="left">  
                    <input type="text" id="login_code" name="login_code" style="160px; margin-left:10px;" />  
                </td>  
            </tr>  
            <tr>  
                <td align="right">  
                    <label>密  码:</label>  
                </td>  
                <td align="left">  
                    <input type="password" id="login_password" name="login_password" style="160px; margin-left:10px;" />  
                </td>  
            </tr>  
            <tr>  
                <td align="center" colspan="2">  
                    <span style="font-size:12px; color:blue; vertical-align:middle;">是否记住密码</span>  
                    <input type="checkbox" style="vertical-align:middle;" />  
                </td>  
            </tr>  
            <tr>  
                <td align="center" colspan="2">  
                    <input type="submit" id="subLogin" name="subLogin" value="登 录" onclick="login();"/>    
                </td>  
            </tr>  
        </table>  
    </center>  
    </body>  
    </html> 
  • 相关阅读:
    DWVA系列-2-csrf Medium等级 绕过refer的csrf 有点小曲折
    DWVA系列-2-csrf low等级
    DWVA系列-1-brute Impossible等级 预防SQL注入 一次性token+预编译
    DWVA系列-1-brute medium等级
    DWVA系列-1-brute low等级
    获取SD卡剩余容器
    MD5Encoder
    本地缓存
    内存缓存
    网络缓存
  • 原文地址:https://www.cnblogs.com/Liyuting/p/9199516.html
Copyright © 2011-2022 走看看