【问题标题】:Codeigniter Sessions: ignore Wget/1.9.1Codeigniter 会话:忽略 Wget/1.9.1
【发布时间】:2012-01-06 15:26:38
【问题描述】:

我正在按照User Guide 中的建议将 Codeigniter 会话保存到数据库中。 我还有一些 cronjobs (wget) 正在运行,其中一些每分钟都在运行,而我的 ci_sessions 表在短短几分钟内就充满了数千条记录。

我不需要或不想保存 user_agent 为 Wget/1.9.1 的会话记录。

知道怎么做吗?

谢谢。

【问题讨论】:

    标签: codeigniter session wget


    【解决方案1】:

    这看起来像是User Agent Class 的工作!

    手动加载后:

    $this->load->library('user_agent');
    

    或通过/application/config/autoload.php中的配置:

    $autoload['libraries'] = array('user_agent');
    

    然后您可以使用以下代码检查用户代理:

    if (stristr($this->agent->agent_string(), 'wget') != FALSE)
    {
        /* wget detected, don't save sessions */
    }
    else
    {
        /* sessions can be saved */
    }
    

    【讨论】:

    • 嗯,这是有道理的,但我不明白我应该在 else 语句中输入什么代码。 CI 自动处理会话,这不是我控制的一些会话数据。
    • 如果检测到Wget,调用:$this->session->sess_destroy();否则添加您认为与会话相关的数据:$this->session->set_userdata();
    猜你喜欢
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 2014-09-17
    相关资源
    最近更新 更多