4

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

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

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

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

这安全吗?它会阻止我的 cron 访问吗?任何帮助表示赞赏。谢谢。

4

1 回答 1

3

使用 Cron + PHP CLI 执行脚本:

不要将该文件放在 webroot 下。

使用 Cron + Wget 请求脚本:

通过 post 将密钥传递给您的脚本;检查脚本中的那个键。例子:

位于 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");
于 2013-03-01T16:25:25.900 回答