【发布时间】:2018-12-02 01:26:24
【问题描述】:
我使用 CI 会话来允许用户登录我的站点并在会话期间使用存储一些数据。这是我的会话的配置(是开箱即用的配置):
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
我遇到的问题是,当我在浏览器(Chromium v66.0.3359.117)和其他设备中测试会话时,这工作正常,但有些用户告诉我他们无法登录。我认为这可能是那些用户没有在他们的浏览器中启用 cookie,但我无法检查。
有人知道会话是否有任何问题,这只是因为 cookie 被禁用而导致的问题吗?
【问题讨论】:
-
在您的代码中添加调试以捕获浏览器发送给您的 cookie 值,并亲自查看用户无法登录的原因
-
如何调试 HTTP 请求以查看 cookie?收到请求时,我可以访问发布的数据(使用 $this->input->post()),但不能访问整个 HTTP 请求...:/
-
您是否查看了
input类文档以获取有关 cookie 的信息? -
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。
-
您需要能够使用您面前的浏览器来复制它 - 其他任何事情都在猜测。您可以在您的应用程序中添加一个隐藏的复活节彩蛋,以帮助用户非常轻松地转储他们的 cookie,以便他们可以将它们复制到您的电子邮件中(当然,为了安全起见,您应该立即删除这些 cookie)。特别是,您需要确定是否可以将他们获得的 cookie 与您识别为有效会话的 cookie 匹配。
标签: php codeigniter session cookies