当前位置: 首页 > 面试题库 >

Cookie与会话

谭成业
2023-03-14
问题内容

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

谢谢大家在StackOverflow中!


问题答案:

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

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

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

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



 类似资料:
  • 问题内容: 如何使 connect.sid cookie本身仅是会话cookie,而不是持久性cookie? 我尝试失败 但是cookie仍具有到期时间戳。 问题答案: 以上工作。因此,通过将maxAge设置为null,我确实管理了expressjs以使用会话cookie。ew

  • Stormpath 中有很多博客文章讨论了您应该如何使用 cookie 而不是 sessionStorage/localStorage 来存储您的 JWT: https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage https://stormpath.com/blog/token-auth-sp

  • Cookie提供客户端数据存储,仅支持少量数据。 通常,每个域2KB,这取决于浏览器。 Session提供服务器端数据存储,它支持大量数据。 让我们来看看如何在FuelPHP Web应用程序中创建cookie和会话。 Cookies FuelPHP提供了一个Cookie类来创建cookie项目。 Cookie类用于创建,分配和删除cookie。 配置Cookie Cookie类可以通过位于fuel

  • 我在Tomcat7中有一个web应用程序,它将会话中的用户信息作为DTO对象保存。我还为我的项目启用了Spring Security性,如果用户没有会话,它会自动将用户重定向到登录页面。 如果我登录到应用程序一次,然后在Eclipse中重新启动Tomcat,会发生的情况是,我的会话被冲出,但cookie没有运行。 Edit:尽管Firefox说,但如果关闭并重新启动Firefox,cookie仍然

  • 众所周知,HTTP 是一个无状态协议,所以客户端每次发出请求时,下一次请求无法得知上一次请求所包含的状态数据,如何能把一个用户的状态数据关联起来呢? 比如在淘宝的某个页面中,你进行了登陆操作。当你跳转到商品页时,服务端如何知道你是已经登陆的状态? cookie 首先产生了 cookie 这门技术来解决这个问题,cookie 是 http 协议的一部分,它的处理分为如下几步: 服务器向客户端发送 c

  • 问题内容: http://www.javascriptkit.com/javatutors/cookie.shtml 另一方面,仅会话cookie将信息存储在浏览器内存中,并且在浏览器会话持续时间内可用。换句话说,从存储时间到关闭浏览器之前,都可以使用会话cookie中存储的数据。在此期间在页面之间移动不会删除数据。 如何使用Express.js做到这一点? 问题答案: 以下是我想要的(某种)。当