Web客户端数据存储学习笔记——Cookie

  

  今天对登陆访问的安全以及web客户端存储作了一些大体的学习,决定在这方面加深理解,记录在博客里。第一个接触到的是Cookie...html

WHAT?

WHY?

HOW?

在学习cookie的使用时发现其名称以及存储的字符串值是必须通过URL编码的。web

然而网上的许多示例(包括 w3school中文站)都没有作这一处理,因此三哥参考阮一峰老师的关于URL编码博文找到了解决方案,在这里分享:浏览器

cookieUtil.js:
 1 //cookieUtil.js
 2 var cookieUtil = {
 3     
 4     //读取"name"对应cookie的值
 5     get : function(name){
 6             var cookieName = encodeURIComponent(name)+"=",                //对传入name参数URL编码
 7                 cookieStart = document.cookie.indexOf(cookieName),
 8                 cookieValue = null;
 9                 
10             if(cookieStart > -1){
11                 var cookieEnd = document.cookie.indexOf(";",cookieStart);
12                 if(-1 == cookieEnd){
13                     cookieEnd = document.cookie.length;            //cookie值为空
14                 }
15                 //对cookie保存的值URL解码
16                 cookieValue = decodeURIComponent(document.cookie.substring(cookieStart+cookieName.length,cookieEnd));
17             }
18        return cookieValue;
19         },
20         
21     //建立或设置cookie        其中name将做为某一域内的惟一标示、不可更改
22     set : function(name,value,expires,path,domain,secure){
23         //对名称和值URL编码
24         var cookieText = encodeURIComponent(name)+"="+encodeURIComponent(value);
25         
26         if(expires instanceof Date){
27             cookieText += "; expires="+expires.toGMTString();
28         }
29         if(path){
30             cookieText += "; path="+path;
31         }
32         if(domain){
33             cookieText += "; domain="+domain;
34         }
35         if(secure){
36             cookieText += "; secure";
37         }
38         
39         //将根据name是否存在决定是否添加新的cookie字符串,须要注意:a、cookie长度(limit:4095B);b、每一个域容许的cookie个数(各浏览器决定)
40         document.cookie = cookieText;        
41     },
42     
43     //删除cookie
44     unset : function(name,path,domain,secure){
45         this.set(name,"",new Date(0),path,domain,secure);
46     }
47     
48 }

WHEN?

BETTER!

updating安全

REFERENCE:

一、 关于URL编码cookie

二、Cookie/Session机制详解dom

相关文章
相关标签/搜索