通过直接访问限制通过cron作业运行的文件

时间:2013-03-01 16:21:40

标签: php html cron

我需要建议如何保护我创建的通过cronjobs运行的文件。

目前,我正在使用HTTP_referrer阻止未经授权的人直接访问。但这也会阻止我的cron作业执行它。

我在脚本的顶部插入了以下代码:

    if(empty($_SERVER['HTTP_REFERER'])){
        echo 'Restricted Access';
        exit;
    } 

这是否安全,是否会阻止我的cron访问?任何帮助赞赏。感谢。

1 个答案:

答案 0 :(得分:3)

使用Cron + PHP CLI执行脚本:

请勿将该文件放在webroot下。

使用Cron + Wget请求脚本:

通过邮件将密钥传递给您的脚本;检查脚本中的密钥。例如:

位于wwwroot外的服务器上的key.txt的内容:

key=hello

Wget命令行

wget --post-file=key.txt http://example.com/cron.php

PHP脚本

parse_str(file_get_contents("key.txt"), $array);
if($array != $_POST)
    die("does not match");