【问题标题】:CodeIgniter Session equal to Internet BankingCodeIgniter Session 等同于网上银行
【发布时间】:2014-10-24 13:47:31
【问题描述】:

我有一个使用 CodeIgniter、PHP 和 MySQL 开发的应用程序。用户的会话始终按照 CodeIgniter 的默认行为工作,但是,现在我需要会话更具限制性,与网上银行会话一样工作,在 7 分钟(420 秒)不活动后到期,而客户端的每个请求服务器这七分钟被删除。

我不知道 CodeIgniter 本身是否只是定义参数来支持那种形式的存储会话,但是我无法代表这种形式的工作。

我不知道对于这种级别的限制我是否需要重写 CI_Session 类的一些方法,或者是否只是正确设置 CI 的参数?

如果已经存在 CodeIgniter 的一些类或插件,谁能帮助我?

我的参数示例:

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 420; 
$config['sess_encrypt_cookie']          = FALSE;
$config['sess_use_database']            = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent']         = TRUE;
$config['sess_time_to_update']          = 420;
$config['sess_storage']                 = 'database';
$config['sess_database']                = 'default';
$config['sess_timeout']                 = 7200;
$config['sess_destroy_on_timeout']      = FALSE;
$config['sess_update_interval']         = 180;
$config['sess_gc_probability']          = 10;
$config['sess_http_only']               = FALSE;
$config['sess_secure']                  = FALSE;
$config['sess_forwarded_ip']            = FALSE; 

【问题讨论】:

    标签: php codeigniter session


    【解决方案1】:

    根据 Codeigniter 会话指南,有以下与会话相关的首选项,如下所示

    $config['sess_cookie_name']     = 'ci_session';
    $config['sess_expiration']      = 420;
    $config['sess_expire_on_close'] = TRUE;
    $config['sess_encrypt_cookie']  = FALSE;
    $config['sess_use_database']    = TRUE;
    $config['sess_table_name']      = 'ci_sessions';
    $config['sess_match_ip']        = FALSE;
    $config['sess_match_useragent'] = TRUE;
    $config['sess_time_to_update']  = 420;
    

    现在它的工作原理是,当用户访问网站时,Codeigniter 为用户分配一个唯一的会话 ID,您可以使用此函数 echo $this->session->userdata('session_id'); 来检查它,因此它会显示您当前的会话 ID,如果您想这样做,现在就可以了仅将会话设置为 7 秒,它可以是您定义的会话或由 codeigniter 自动生成的会话,它将每 7 秒过期一次,并将为正在导航站点的用户生成一个新会话。

    注意: 如果您在购物车或电子购物车上与客户合作,请不要花一点时间让会话到期,这会给您带来很大的问题

    【讨论】:

    • 谢谢!我确实按照您的建议更改了我的 config.php 删除了不必要的属性,并且会话行为变得更加可预测。
    猜你喜欢
    • 2012-07-20
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 2013-05-18
    • 2014-02-16
    • 2015-02-28
    • 1970-01-01
    • 2017-12-26
    相关资源
    最近更新 更多