解决 该死的cookie

最近项目中用到cookie,登录的时候用js写如cookie,如果设置了有效期,那么这个cookie可以用ckeadm工具查看到,而且也可以用Request.Cookie[Key]的方式获取到数据。

然后如果没有设置有效期的话,js写入的cookie,无法通过Request.Cookie[Key]获取,也无法通过这个工具查看到。

function addAuthenticationCookie(name, value, path) { //Authentication using minutes as unit
    var name = escape(name);
    var value = escape(value);

    path = path == "" ? "" : ";path=" + path;

    document.cookie = name + "=" + value  + path;

}

 

同样,如果你用Response.AppendCookie(cookie)的形式来写入cookie,同时也没有指定有效期的话,这个cookie也是无法通过工具查看到,而且当你关闭浏览器的时候就自动失效。

  //创建一个没有过期日期的cookie
            HttpCookie cookie = new HttpCookie("MyCookie");
            cookie.Values.Add("UID", LoginID);

            context.Response.AppendCookie(cookie);

 

查了一些资料显示,如果没有指定有效期的话,cookie是保存在内存中的,当浏览器关闭的时候自动销毁。如果指定了有效期却保存在硬盘上。也许重点就在于此。

 

以上我经过代码测试过的,如有不正确的请指出。

 

posted @ 2013-06-05 14:28  五月℃夏到了  阅读(182)  评论(0编辑  收藏  举报