javascript - CodeIgniter 没有破坏我的 session

标签 javascript codeigniter session reset

因此,我当前的任务涉及一个人们可以登录并观看有关特定主题的一系列培训视频的网站。我在 CodeIgniter 中开发了这个。唯一的麻烦是,一旦我让他们登录并创建一个 session ,该 session 似乎会在几分钟后神秘地消失,并且他们会神秘地弹回登录页面(如果有人在登录页面上,就会发生这种情况)无需登录即可训练视频页面。这是我的 config.php 页面中的代码块:

$config['sess_cookie_name'] = 'cc_session';
$config['sess_expiration']  = 0;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']  = 'cc_sessions';
$config['sess_match_ip']    = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 3000000;

为什么 sess_time_to_update 设置得这么高?起初,我认为这是罪魁祸首,5 分钟后更新了 session 。我已将 session 设置为记录到数据库,以及所有这些好东西。请向我提问,并帮助我查明真相!

我应该指出,我在类(class)页面上有一个 iFrame,它以这种方式向服务器发送“ping”...

 <iframe id="timerAddEnd" style="display:none;" src="http://www.example.com/course/finish/<?=$course->intKey?>/ping" >
 </iframe>
 <script type="text/javascript">
      var auto_refresh = setInterval( function () 
      { 
           var iframe = document.getElementById('timerAddEnd'); 
           iframe.src = iframe.src; 
      }, 60000); 
      // refresh every minute 
 </script> 

这可能是罪魁祸首吗?我希望这能快速解决最初的问题。

最佳答案

您是否使用安装了扩展程序(如 FirePHP)的 Firefox 和 Firebug?因为如果您有这样的设置,当您打开/关闭 Firebug 控制台时,用户代理字符串会发生变化,并且 CI 不再识别您的 session 。

我的解决方法是禁用 FirePHP。尝试检查您的用户代理字符串,看看除了默认浏览器用户代理之外是否还有其他内容。您应该能够轻松识别它。如果有的话。

关于javascript - CodeIgniter 没有破坏我的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12735456/

相关文章:

javascript - 如何将大于屏幕的可滚动图像居中

javascript - "Home"不是 Node JS 上的构造函数

php - 将 MySQL 查询转换为 CI 语法

php - 如何在 codeigniter 框架中上传文件

asp.net - 无 Cookie session 有多重要? Web 应用程序框架是否应该为它们提供支持?

html - cookie 与 session 的优缺点是什么?

javascript - 调整图像大小并将 Canvas 旋转 90 度

Javascript .call() 用法。一种有效,一种无效。有什么区别?

php - 在 Code Igniter Rest 服务器上加载语言时出错

javascript - 拉取AJAX数据时如何忽略Adsense?