0

所以我有一个我们在 codeigniter 上构建的框架。默认情况下,它使用常规的 codeigniter 会话,允许在 cookie 上加密最多 4kb 的存储空间。

它适用于需要注册过程的一般应用程序,由于问题是通过管理面板动态生成的,因此其大小可能会有所不同。注册过程依赖于会话数据,因为它在整个过程中重定向。

过去,当我知道这将是框架上的一个问题时,我曾使用过 db_sessions,但是,我现在正在考虑始终使用 db_session 进行注册过程而站点的其余部分使用 4kb cookie 会话的可能性。

这可能吗。看起来这可能是一个非常糟糕的主意,但我真的不想重做动态注册过程或真正为整个站点使用 db_session,因为如果太多用户同时在线,它最终会使站点运行非常缓慢。

所以我想我只能在加载注册控制器时将配置中的变量设置为真(通过 $_SERVER 或 uri 助手检查 url,如果我可以将它加载到我猜我不能的配置中)。

这看起来有道理吗?

4

1 回答 1

2

看起来这可能是一个非常糟糕的主意

您回答了自己的问题:) 当用户从一页切换到另一页时,您会遇到问题。如果他们打开多个窗口,按下“后退”按钮等会发生什么情况。您需要在他们开始注册时切换 cookie,并在最后切换回来。基本上没有收益,这将非常非常混乱。

但我真的不想重做动态注册过程或真正为整个站点使用 db_session,因为如果太多用户同时在线,它最终会使站点运行非常缓慢。

现实是;通过使用数据库进行会话,您的网站必须很大才能有任何真正的性能问题。如果您不使用数据库,那么您将依赖存储在用户计算机上的 cookie。根据您的站点,这意味着他们可能能够编辑该 cookie 并更改“admin = true”或其他内容。

只需使用数据库会话-我认为您使情况过于复杂。

于 2012-05-09T21:13:28.850 回答