一尘不染

Cookie与会话

php

我几个月前开始使用PHP。为了为我的网站创建一个登录系统,我阅读了有关cookie和会话及其区别(cookie存储在用户的浏览器中以及服务器上的会话中)的信息。当时,我更喜欢cookie(谁不喜欢cookie
?!),只是说:“谁在乎?我在将它存储在服务器中没有任何好处”,所以,我继续使用cookie我的学士毕业项目。但是,在完成了我的应用程序的大部分工作之后,我听说对于存储用户ID的特定情况,会话更为合适。因此,我开始考虑如果陪审团问我为什么要使用Cookie而不是会议?我有这个理由(我不需要在内部存储有关用户的信息)。
__? 还是不止于此?
您能告诉我使用Cookie保留用户ID的优缺点吗?

谢谢大家在StackOverflow中!


阅读 266

收藏
2020-05-26

共1个答案

一尘不染

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

最好使用会话,因为实际值对客户端是隐藏的,并且您可以控制数据何时到期并变为无效。如果全部基于cookie,则用户(或黑客)可以操纵其cookie数据,然后向您的站点播放请求。

编辑:我认为使用cookie除了简单之外没有任何优势。这样看吧…用户是否有任何理由知道其ID#?通常,我会说不,用户不需要此信息。提供信息应基于需要的了解而受到限制。如果用户将其Cookie更改为具有不同的ID怎么办,您的应用程序将如何响应?这是安全隐患。

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

2020-05-26