运行需要使用cronjob登录的PHP脚本

时间:2015-12-30 05:20:29

标签: php codeigniter cron

我正在使用CI挂钩来阻止访问应用程序而无需登录, 但我也在使用cron作业来完成一些计划任务,现在我不需要登录来安排任务,

下面是我用于钩子的控制器的代码,

public function checkSession()
{
    if($this->CI->router->fetch_class() == "cron")
    {
         //How should i continue with Cron class??
    }
    elseif($this->CI->router->fetch_class() != "login")
    {
         // session check logic here...change this accordingly
         if($this->CI->session->userdata['user_id'] == '' )
         {
             redirect('login');
         }
    }
}

现在我希望cron类在不检查用户会话和登录的情况下运行,

如何在If条件下继续使用cron类?

还是其他任何想法?

谢谢,

2 个答案:

答案 0 :(得分:0)

即使您使用cronjob运行脚本,安全行为也是登录,例如,这可以使用cURL,您可以使用凭据创建会话,正常登录并根据权限执行脚本你有。

有关详细信息,请参阅以下主题:
Using curl with a username and password

答案 1 :(得分:0)

其他选项如果你坚持保持简单和安全对你来说不是一个大问题,你可以通过cronjob调用脚本时传递一个参数,如链接中所述: passing a command-line argument

或者您可以参考链接中提到的PHP基本技术: detect if script is run from a cron job