繁体   English   中英

我如何只允许cron在特定时间内在PHP文件上运行

[英]How can I only allow cron to be run on a PHP file during a certain time

我有一项Cron作业,一天中的全天(:00)运行几次。 如何只允许在这段时间内运行PHP脚本? 我不希望其他人能够运行我的脚本。 这是我的想法:

if (date('i', time()) > 2 || date('i', time()) < 58) {
  die;
}

有更好,更安全的方法吗?

如果将php脚本放置在Web目录之外,则只有/ cron可以运行它,而没有其他人可以运行它。

有多种方法可以从cron运行php脚本,例如,将以下内容添加为php脚本的第一行:

#!/usr/local/bin/php      /* depends on your server and configuration */

cron作业通常以root用户身份运行。 您可以使脚本仅由root用户可执行并可读:

sudo chown root script_for_root_only.php
sudo chmod 744 script_for_root_only.php

如果您不想使用root,也可以更改crontab中的命令以特殊用户身份运行脚本。

我认为我们可以假定您没有可在Web访问的位置中的脚本。 如果您这样做,请移动它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM