为了账号安全,请及时绑定邮箱和手机立即绑定

Cookie与会话

Cookie与会话

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

3 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

区分这两个基本概念。

会议:

  1. IDU存储在服务器(即服务器端)上

  2. 更安全(因为1)

  3. 无法设置过期时间,当用户关闭浏览器时,会话变量将过期。(如今,它默认存储在php中24分钟)

饼干:

  1. IDU存储在Web浏览器(即客户端)中

  2. 不太安全,因为黑客可以到达并获取您的信息(因为1)

  3. 可以设置过期时间(有关更多信息,请参见setcookies())

当您需要存储短期信息/值(例如用于计算,测量,查询等的变量)时,首选会话。

当您需要存储长期信息/值(例如用户帐户)时,首选使用Cookie(这样,即使他们将计算机关闭2天,他们的帐户仍会登录)。我想不出Cookie的许多示例,因为在大多数情况下都没有采用它。


查看完整回答
反对 回复 2019-10-15
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

SESSIONS ENDS WHEN USER CLOSES THEIR BROWSER,


COOKIES END DEPENDING ON THE LIFETIME YOU SET FOR IT. SO THEY CAN LAST FOR YEARS

这是您选择的主要区别,


如果您希望长时间记住该ID,则需要使用Cookie。否则,如果您只想让网站识别此访问的用户,那么就可以使用会话。


会话存储在您的php服务器将生成的文件中。为了记住哪个用户的文件,php还将在用户的浏览器上设置一个cookie,该cookie持有该会话文件的id,因此在他们下次访问时php将读取该文件并重新加载会话。


现在,php默认情况下会在每个间隔清除会话,并且会话的命名约定也会使其自动过期。此外,一旦关闭浏览器或清除历史记录,浏览器将不会保留保存会话ID的cookie。


重要的是要注意,当今的浏览器还支持另一种存储引擎,例如LocalStorage,SessionStorage和其他webdb引擎,JavaScript代码可使用这些引擎将数据保存到您的计算机以记住您。例如,如果您在Facebook内部打开JavaScript控制台,然后键入“ localStorage”,您将看到Facebook用来记住您的所有变量而没有cookie。


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 314 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信