js cookie详解
cookie是在服务器响应的时候,存在客户端硬盘上的信息。比如用户名的登陆信息,下次再次访问从这个页面的时候不需要重复登陆。
根据这个原理,cookie的可以实现单点登陆。即多个页面共用一个验证接口。比如你刚开始登陆了淘宝页面,然后又跳转到另一个页面。此时没有让客户重新登陆。这是cookie的作用。
步骤为:
- 用户登陆之后存了用户的cookie。
- 当用户访问这个域的其他页面时,会把客户端请求和用户的cookie一起发送给服务器。
- 服务器从数据库调取数据,来判断需要不需要用户登陆。
为什么要对cookie跨域操作,或者让cookie的域是一个特定的域名呢?其实是为了安全考虑。当你进入到某个页面后,可能是钓鱼网站。如果没有域名控制,可能就会得到你的登陆信息。
所以尽量在app上登陆。类似于淘宝,京东的app。如果在网页上登陆要记得点击退出,清楚你的cookie。保护好你的隐私。
下面给大家一个cookie的小例子。
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script>
function setcookie(name,value){
var expiredate=new Date();
expiredate.setMonth(expiredate.getMonth()+1); //设置cookie的过期时间为一个月。
document.cookie=name+"="+escape(value)+";expires="+expiredate.toGMTString()+";" //设置cookie的key,value和过期的时间
}
function getcookie(name){
var begin=document.cookie.indexOf(name);
if(begin!=-1){
begin+=name.length+1; //找到name的value的起始位置。
end=document.cookie.indexOf(";",begin); //找到name的value的结束位置。
if(end==-1){
end=document.cookie.length;
}
return unescape(document.cookie.substring(begin,end));
}
else{
return""
}
}
setcookie("name",'lyc');
alert(getcookie("name"));
</script>
</body>
</html>
结果为