什么是Token?
js如何获取/禁用cookie
假设cookie中存储的内容为:name=jack;password=123
则在B页面中获取变量username的值的JS代码如下:
- arusername=document.cookie.split(";")[0].split("=")[1];
- //JS操作cookies方法!
- //写cookies
- function setCookie(name,value){
- var Days = 30;
- var exp =newDate();
- exp.setTime(exp.getTime() + Days*24*60*60*1000);
- document.cookie = name +"="+ escape (value) +";expires="+ exp.toGMTString();
- }
- //读取cookies
- function getCookie(name){
- var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
- if(arr=document.cookie.match(reg))
- return unescape(arr[2]);
- else
- return null;
- }
- //删除cookies
- function delCookie(name) {
- var exp = new Date();
- exp.setTime(exp.getTime() - 1);
- var cval=getCookie(name);
- if(cval!=null)
- document.cookie= name + "="+cval+";expires="+exp.toGMTString();
- }
使用cookie
document.cookie = "name=value;expires=evalue; path=pvalue; domain=dvalue; secure;”
name是必选参数,expires、path、domain、secure都是可选参数。
expires=evalue 该对象的有效时间 只支持GTM 标准时间,即要将时间转换,toUTCString()(默认为当前浏览器 会话有用,关闭浏览器就消失);
- var date = new Date();
- date.setTime(date.getTime()+2000);//获取当前时间并加上 2 秒钟
- alert(date.toUTCString());//格林威治时间 (GMT) 把 Date 对象转换为字符串,并返回结果
- alert(date.toGMTString());//与上面的结果一样,但是这个方法已经被上面取代了
- document.cookie="name=vae;expires="+date.toUTCString();
- alert(document.cookie); // name=vae
- setTimeout(function(){alert(document.cookie)},4000);//4 秒后打印空的字符串
path=pvalue 限制访问 cookie 的目录,默认情况下对于当前网页所在的同一目录下的所有页面有效;
domain=dvalue 用于限制只有设置了的域名才可以访问;如果没有设置,则默认在当前域名访问;
secure=true|false 默认是 true 不安全传输
安全设置,指明必须通过 安全的通信通道来传输(https) 才能获得 cookie,true 不安全,默认值;false 安 全,必须通过 https 来访问。
注意:cookie是与浏览器相关的,用户很可能禁用浏览器的cookie功能;cookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户删除; cookie安全性不够高,所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。cookie 在保存时,只要后面保存的 name 相同,那么就会覆盖前面的 cookie。
cookie 禁用 ?
问题描述:
sessionID通过cookie保存在客户端,如果将cookie禁用,必将对session的使用造成一定的影响。
解决这个问题的办法是:URL重写