js中cookie的使用

在网站中,很多地方需要使用到cookie,例如用户登录状态,用户下次访问时,保存上一次操作状态等。 cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。

cookie的缺点主要集中于安全性和隐私保护。主要包括以下几种:

  • cookie可能被禁用。当用户非常注重个人隐私保护时,他很可能禁用浏览器的cookie功能;
  • cookie是与浏览器相关的。这意味着即使访问的是同一个页面,不同浏览器之间所保存的cookie也是不能互相访问的;
  • cookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户删除;
  • cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。

下面是js设置网站cookie和读取网站cookie的简单用法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//读取cookie
var res = document.cookie.substring(5);
//alert(res); //输出:www.yaobblog.com

//判断浏览器是都有当前网站cookie信息
if(res != "www.yaobblog.com"){

//添加 cookie
var oDate = new Date();
oDate.setDate(oDate.getDate + 30); //设置30天以后

//设置网站cookie 30天后失效
document.cookie = "name=www.yaobblog.com;expires=" + oDate;
}