gpt4 book ai didi

php - 如何只为 cron 任务保护 php 文件?

转载 作者:搜寻专家 更新时间:2023-10-30 20:02:34 24 4
gpt4 key购买 nike

我知道那里有类似的帖子,但请放心,这不是重复的帖子!

我在 Godaddy 服务器上有一个网站。我无权访问服务器根目录的外部(一切都是公开的)。

我有一个文件 delete.php 需要在 CRON 上运行,并且只能由 CRON 运行。该文件不应由任何人出于任何原因手动执行。

鉴于上述情况,我正在尝试尽可能地保护我的文件,所以让我们将其作为一项安全性实验。

到目前为止,我的目标是使文件尽可能安全:

<?php
$isCLI = ( php_sapi_name() == 'cli' );

if (!$isCLI) {
die("cannot run!");
} else {
if(!isset($_SERVER['REQUEST_METHOD'])){
// Do the task here
}else{
die("cannot run!");
}
}
?>

那么,这在逻辑上安全吗?如何让它更安全? godaddy 只能让我设置一个日期/时间来运行一个文件,仅此而已。

最佳答案

正在检查 cli SAPI 就足够了;通过 apache(无论是 mod_php 还是 fastcgi 或 cgi)执行它的用户永远不会导致通过 CLI sapi 调用 PHP。你可以摆脱丑陋的else {}围绕你的真实代码;如果你exit;then block 的末尾不需要 else block 。

但是,根本不将这种脚本放在文档根目录中会干净得多。如果那不可能,也可以考虑使用 .htaccess :

Order deny,allow
Deny from all

如果文件位于不应完全锁定的文件夹中,请将这些行包装在 <Files whatever.php>...</Files>

关于php - 如何只为 cron 任务保护 php 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9898773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com