我将为我的登录系统使用Codeigniter的会话数据,但首先我想了解它们,所以我阅读了用户指南,根据我的理解,Codeigniter的会话数据是just
个cookie。登记/>
这是真的?这意味着如果用户禁用cookie,他将无法使用Codeigniter的会话数据登录任何网站?
引用:
The Session class stores session information for each user as serialized (and optionally encrypted) data in a cookie
这意味着我应该创建自己的本机PHP会话数据,以禁用cookie的用户能够登录我的网站?或者Codeigniter的会话数据是not
只是cookie?
答案 0 :(得分:5)
是的,CodeIgniter的内置会话类确实使用了cookie,但是,即使PHP中的标准Sessions也需要cookie。
因此,无论您使用哪条路线,CodeIgniter会话或标准会话,如果用户未启用Cookie,会话无法正常工作。
CodeIgniter的Session类的优点是它可以自动加密数据以防止cookie被篡改,还允许您根据数据库对cookie进行身份验证。
答案 1 :(得分:1)
CodeIgniter中的会话或使用HTTP协议的任何其他应用程序最好跟踪使用cookie。通常,会话数据本身不使用cookie存储,但访问此数据的key
是,实际会话数据是存储在服务器的文件系统中还是存储在数据库中。
PHP允许通过cookie,POST或GET设置会话ID,但最好始终使用cookie,否则您将使用ini_set('session.use_only_cookies', true)
打开session fixation的大门。实际上每个人都确实启用了cookie。