【问题标题】:How many userdata session data can I create for the user?我可以为用户创建多少个 userdata 会话数据?
【发布时间】:2014-11-19 07:36:29
【问题描述】:

Codeigniter 表示 cookie 中最多只能存储 4KB 的数据。这是否意味着每个$this->session->userdata('something'); 是一个cookie,我可以拥有无​​限数量的cookie? 因为我只使用了一个 userdata 会话数据,并且它已经 4KB,所以它不会接受任何更多信息......如果我把它全部分解并有许多不同的$this->session->userdata(),这会解决吗?

【问题讨论】:

  • 您真的需要在会话中存储超过 4kb 的数据吗?
  • 是的。是为了用户体验。所以我想知道是否每个 $this->session->userdata() 是一个 cookie
  • 使用nativesession
  • nativesession 会取消 4KB 限制吗?
  • native session 就像普通的 php 会话。它将会话数据存储到我们的服务器中,您可以存储无限数据

标签: php codeigniter session cookies codeigniter-2


【解决方案1】:

对会话数据不应该有 cookie 限制,因为 cookie 中唯一存储的是会话 ID,它是某种长字符串。实际会话数据,即使未存储在数据库中,也存储在由 ID 标识的服务器上的文件中。无需使用其他库。为了速度和安全性,建议使用数据库会话存储。只要您的数据库是安全的,您的会话数据就会是安全的。通过将会话 ID 作为查询字符串附加到请求中,您实际上可以在完全不使用 cookie 的情况下使用会话,但我不建议您这样做,除非您想为因某种原因关闭 cookie 的用户提供服务。

【讨论】:

    猜你喜欢
    • 2010-10-30
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 2012-07-25
    相关资源
    最近更新 更多