2011-11-14 130 views
2

我想阻止用戶手動運行我的cron作業的人的瀏覽器。除了使用不可預知的文件名,我想要在代碼中進行某種檢查。PHP檢測cron作業

很明顯,使用任何客戶端標題是浪費時間,所以我認爲最簡單的方法是檢測$_SERVER['SERVER_NAME'],據我所知在CLI中沒有設置。

這樣做的沒有更好的辦法?

+0

你使用哪種方法?任何好的結果? – Shackrock

+0

我用php_sapi_name()......似乎是最強大的,以我 – Andy

回答

2

檢查IP地址,如果本地或服務器IP,然後運行它,否則返回。

$ip = getenv('REMOTE_ADDR'); 
3

在你的.htaccess

Options -Indexes 

order allow deny 
deny from all 
allow from YOUR SERVER IP ADDRESS ONLY 
2

我的cron作業是受密碼保護使用htpasswd一個文件夾中。你可以設置一個簡單的密碼,並確保沒有人會失去嘗試訪問它的時間。我不使用任何基於IP的技術,因爲這是我不想擁有的服務器依賴關係。