EDIT(10年7月13日):
因此,本书只是想说明cookie与会话的功能,最后的例子是将两者结合起来。但从功能角度来看,它并没有多大意义。最后一个例子是:
使用user_id设置cookie,并将会话变量设置为user_id。因为会话变量在浏览器关闭时被删除,所以找出cookie是否已设置以及是否已设置,将user_id复制到会话变量,以使登录持久性比浏览器关闭更长。
请注意,这是一本初学者的书,而不是真正的功能性/实用性书。
DONE EDIT
我正在阅读Head First PHP,本书讨论了当您再次打开浏览器时,通过重置现有cookie变量中的会话变量,使用Cookie和会话变量的持久性有多优越。
但是当你想到它时,除了cookie之外,再次使用会话有什么意义呢,如果你在使用这两个cookie时已经暴露了?也就是说,我不是在谈论会话ID cookie,我说的只是将cookie变量直接复制到会话变量上 - 没有得到地址或类似的东西。
答案 0 :(得分:2)
最终用户可以看到Cookie,用户可以更改它们。如果您需要存储用户无法查看或伪造的数据,则应使用会话。会话数据存储在服务器上,而不是存储在用户的PC上。会话使用单个cookie,即会话ID,它只是一个随机字符串,用作会话存储的密钥。如果用户修改它,它很可能会导致一个与任何东西都不匹配的密钥 - 它足够长,以至于他们很难猜测用于其他用户的会话ID。
您可以通过加密所有内容来实现与cookie类似的功能,但是为什么只要使用可以为您处理它的会话来完成所有工作?唯一的原因是如果您的服务器定期重置会话,并且您需要更长时间的持久性。