【发布时间】:2013-03-06 07:38:37
【问题描述】:
据我所知,会话 cookie 存储在浏览器的进程中(在内存中,而不是在硬盘中)。当用户关闭浏览器时,这些cookies被释放,我们无法再次获取这些cookies。所以这种cookie是用来保存session id的。
持久性 cookie 保存在硬盘上。他们一直活着,直到他们过期。通常,我们通过设置过期时间来创建这些 cookie。
所以我的疑问是:
如果我们设置一个没有过期时间的cookie,这个cookie会被当作会话cookie处理吗?它会保存在浏览器的进程中吗?
具有过期时间的cookie必须被视为持久cookie吗?我们可以在浏览器进程中设置一个过期时间的cookie吗?
我们能否让会话 cookie 不出现在浏览器进程中?让它留在磁盘上?如果可以,如何编码,php/asp.net/java ??
【问题讨论】:
-
会话也保存在用户的机器上。只有当浏览会话过期时它们才会过期。这就是会话不应保存敏感数据的原因,因为它们可能被劫持。甚至不必费心学习如何创建无限会话。在某些情况下,它们可以坚持浏览会话,但这是不好的做法,不值得学习
-
会话保存在用户的机器上??会话保存在服务器上。
-
@user1928545 会话 cookie 保存在用户计算机上,但真实数据保存在服务器上的文本文件中,该文本文件使用用户拥有的会话 cookie 的名称。例如,用户会话 id = vv1gdmflejj4lco1m6hfju7ub0 服务器有文本文件 = sess_vv1gdmflejj4lco1m6hfju7ub0
-
你是对的@Class,但会话 ID 保存在计算机上。这些问题表明他认为会话 cookie 存储在内存中而不是硬盘上,但事实并非如此。信息是,但密钥仍在硬盘上。它可以被劫持。
-
可以,但是很容易将HTTPonly添加到会话cookie中。
标签: java php asp.net cookies session-cookies