js想要操作cookie,用的是一个到目前为止都很蹩脚的API: document.cookie
添加cookie(存在的话就覆盖)
document.cookie = 'name=rich'
删除cookie(其实是设置这个cookie的过期时间)
document.cookie = 'name=rich;expires='+new Date(0);
查找cookie(比较简单,是那个意思)
var findName = 'some';
var arr = document.cookie.split(';');
var findArr = arr.filter(function(item){
return item.split('=')[0] == findName;
});
console.info(findArr);
设置域、路径和安全标志
document.cookie = 'name=rich; domain=.example.com; path=/; secure';
cookie的安全性问题
cookie是不安全的,如果你的cookie没有任何防护,那么跨站脚本很容易的获取并且更改你的cookie信息。
防范措施为:
- 一是将cookie设为secure,这样cookie只在https传输中发放。
- 二是设置http-only cookie(这个在服务器端设置)。这样js脚本是无妨访问这类cookie的。
- 三是对cookie中的信息进行加密。
- 其他的方法如加上IP戳,用MD5生成摘要防止篡改等。
网友评论