小编典典

Cookie 与会话

all

几个月前我开始使用 PHP。为了为我的网站创建登录系统,我阅读了 cookie 和会话及其差异(cookie
存储在用户的浏览器和服务器上的会话)。那时,我更喜欢 cookie(谁不喜欢
cookie?!),只是说:“谁在乎呢?我没有什么好办法将它存储在我的服务器中”,所以,我继续使用
cookie我的本科毕业设计。但是,在完成我的应用程序的大部分内容之后,我听说对于存储用户 ID
的特殊情况,会话更合适。所以我开始思考,如果陪审团问我为什么使用 cookie 而不是会话,我会说什么?我有这个原因(我不需要在内部存储有关用户的信息)。
__? 还是不止于此?
您能告诉我使用 cookie 保存用户 ID 的优点/缺点吗?

感谢 StackOverflow 中的所有人!


阅读 62

收藏
2022-06-13

共1个答案

小编典典

这个概念是为 Web 访问者跨页面加载存储持久数据。Cookies 将其直接存储在客户端上。会话使用 cookie
作为排序键,与存储在服务器端的数据相关联。

最好使用会话,因为实际值对客户端是隐藏的,并且您可以控制数据何时过期并变为无效。如果这一切都基于 cookie,则用户(或黑客)可以操纵他们的 cookie
数据,然后向您的站点发出请求。

编辑:除了简单之外,我认为使用 cookie
没有任何优势。这样看……用户有什么理由知道他们的ID#吗?通常我会说不,用户不需要这些信息。提供信息应限制在需要知道的基础上。如果用户将他的 cookie
更改为具有不同的 ID,您的应用程序将如何响应?这是一个安全风险。

在会议风靡一时之前,我基本上有自己的实现。我在客户端上存储了一个唯一的 cookie 值,并将我的持久数据与该 cookie
值一起存储在数据库中。然后在页面请求中,我匹配了这些值并拥有我的持久数据,而不让客户控制那是什么。

2022-06-13