2013-03-01 75 views
4

我需要提供關於如何保護我通過cronjobs運行的文件的建議。通過cron作業限制文件直接訪問

目前,我使用HTTP_referrer防止未經授權的人直接訪問。但是這也會阻止我的cron作業執行它。

我插入下面的代碼在我的腳本的頂部:

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

這是安全的,不會阻止從我cron的訪問?任何幫助讚賞。謝謝。

+1

你是從執行腳本CLI或使用類似wget來調用URL? – Babblo 2013-03-01 16:24:15

+4

將文件放在webroot之外或使用.htaccess – 2013-03-01 16:25:36

回答

3

使用cron + PHP CLI來執行腳本:

不要把這個文件下的根目錄。

使用cron + Wget的要求腳本:

傳遞密鑰通過後腳本;檢查腳本中的密鑰。例如:key.txt的

內容駐留在服務器上的wwwroot外:

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");