目录
参考文章
Cookie
Cookie 不是曲奇。
HTTP cookie(也称为web cookie、Internet cookie、浏览器cookie或简单cookie)是由网站发送的一小块数据,用户在浏览时将其存储在用户的web浏览器上。
cookie被设计成一个可靠的机制,可以让网站记住有状态的信息(比如在网上商店里添加的商品),或者记录用户的浏览活动(包括点击特定的按钮,登录,或者记录过去访问过的页面)。它们还可以用来记住用户之前输入的表单字段的任意信息,比如姓名、地址、密码和信用卡号。
种类
cookie 的种类有很多种,最重要的一种应该是身份验证cookie。
身份验证cookie 是web服务器使用的最常用的方法,以了解用户是否登录,以及登录的帐户。
如果没有这样的机制,站点就不知道是否发送包含敏感信息的页面,或者要求用户通过登录来验证自己。
认证cookie的安全性通常取决于发布网站和用户的web浏览器的安全性,以及是否对cookie数据进行了加密。
安全漏洞可能允许黑客读取cookie的数据,用来访问用户数据,或者用来访问cookie所属的网站(参见跨站点脚本和跨站点请求伪造)。
Cookie 的基础操作
创建存储 cookie
/**
* @param c_name 名称
* @param value 值
* @param expiredays 有效时间
**/
function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}
获取 cookie
/**
* @param c_name 名称
**/
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}
检查 cookie
/**
* @param c_name 名称
**/
function checkCookie(c_name){
value=getCookie(c_name)
if (value!=null && value!="") {
return true;
} else {
return false;
}
}