【问题标题】:Validiate PHP if request is from crons job (CURL) from my server如果请求来自我的服务器的 cronjob (CURL),则验证 PHP
【发布时间】:2017-07-20 01:11:20
【问题描述】:

我已经从我的服务器 Cpanel 设置 Cron 作业 (CURL),每 1 小时执行一次 Codeigniter 控制器。

实际上,如果有人从浏览器访问该网址,则该网址也可以由每个人手动提取。

我的回答

如果请求来自我服务器上的 Cron Job 方法 (CURL),我想确保此功能已执行,以防止任何人手动执行此功能。如何用 PHP 做到这一点?

例子

function clear_ip_addres(){ // every one hour
if(REQUEST IS COME FROM MY SERVER VIA CRONS JOB){ // << here is it
 //i will continue proceed the action
} else {
 // do nothing
}
}

【问题讨论】:

    标签: php codeigniter curl cron


    【解决方案1】:

    您可以通过 php 执行 crontab 而不是 curl,然后您可以使用输入类来确定是否通过命令行调用请求:

    if($this->input->is_cli_request()){//}
    

    【讨论】:

    • 感谢@kisaragi。我已经尝试用这个 if 语句来包装我的操作代码。但不工作。 :(
    【解决方案2】:

    您必须在运行 cron 作业之前验证主机 IP 和注册域。

    【讨论】:

    • 你的意思是检查ip请求吗? if($this->input->ip_address() == $myserverip) ?是否可以确保此功能仅在请求来自 crons 作业时才能执行?
    • 是的,我的意思是一样的。如果您不明白,请告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 2011-09-02
    • 2012-04-08
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    相关资源
    最近更新 更多