Session Codeigniter-处理没有cookie的会话

Session Codeigniter-处理没有cookie的会话,session,codeigniter,get,Session,Codeigniter,Get,某些用户可能未启用Cookie。是否有CI插件可以自动生成GET参数并解析这些参数(例如在控制器的构造函数中) 做这件事的好方法是什么?应该说明,以这种方式使用参数可能不是一个好主意,而且我从来没有听说过有插件这样做。如果你一开始就要处理路由问题的话。但是,CI实际上为您提供了一种在数据库中存储会话信息的方法。查看文档,很容易设置: 如果您不想依赖CodeIgniter 3中的Cookie,那么这可能是更好的方法,会话库不使用Cookie。 在以前的CodeIgniter版本中,“cookie驱

某些用户可能未启用Cookie。是否有CI插件可以自动生成GET参数并解析这些参数(例如在控制器的构造函数中)


做这件事的好方法是什么?

应该说明,以这种方式使用参数可能不是一个好主意,而且我从来没有听说过有插件这样做。如果你一开始就要处理路由问题的话。但是,CI实际上为您提供了一种在数据库中存储会话信息的方法。查看文档,很容易设置:


如果您不想依赖CodeIgniter 3中的Cookie,那么这可能是更好的方法,会话库不使用Cookie。 在以前的CodeIgniter版本中,“cookie驱动程序”是唯一的选项,CI的开发人员收到了关于不提供该选项的负面反馈。在听取社区反馈后,cookie驱动程序被删除,因为它不安全。 在CI 3中,会话库附带4个驱动程序或存储引擎,您可以使用它们:文件、数据库、redis和memcached


谢谢你的回复。当然,数据库方法是有意义的。无论如何,我必须生成某种类型的会话密钥,否则数据库中存储的信息无法分配给某个用户。因此,不必对所有userdata使用get参数,至少必须将唯一标识符传递给下一个控制器。手动实现这一点并不难,但为了让我的问题更具体,我真的想知道是否已有代码以优雅的方式实现了这一点。将会话数据存储在数据库中没有帮助。仍然需要通过会话cookie或get传递会话idparam@Tim你对CI有把握吗?我知道CI会话不使用本机PHP会话。我很确定,如果使用数据库存储信息,会话ID不会通过会话cookie传递。我承认,我可能错了,如果你有任何相反的信息,请按我的方式说。蒂姆是绝对正确的。您可以使用cookies,也可以使用get参数。由于HTTP是无状态的,所以在浏览多个页面时,实际上没有其他方法来保持状态。例如,如果您安装Firecookie,您实际上可以很好地跟踪此行为。即使你使用数据库支持,仍然会有cookies。这是误导。CI 3不再在cookie中存储会话变量,但它仍然使用会话id设置cookie。