我正在運行需要將數據寫入緩存的cronjob。我想把這個cronjob放在我的私人文件夾中,但是,即使在CHMODding私人文件夾中的緩存文件夾之後,它也沒有寫入權限。這似乎是一些plesk功能。如何檢查服務器是否正在執行PHP腳本?
因此,現在我已將cronjob放置在公用文件夾中。但是,我需要確保只有服務器才能執行腳本。在cronjob頂部的以下內容呢?
if ($_SERVER['SERVER_ADDR'] != $_SERVER['REMOTE_ADDR']) die();
這似乎工作。然而,它不是可以利用的,例如。用戶可以操縱他的remote_addr到我的服務器?還是有更好的方法來檢查這個?
另一個問題我有是,上面的代碼返回2個警告,儘管它似乎工作:
PHP Notice: Undefined index: SERVER_ADDR in ... on line 2
PHP Notice: Undefined index: REMOTE_ADDR in ... on line 2
任何想法什麼的的原因是什麼?
不幸的是我無法訪問控制檯。這是一個共享的網絡主機。 – Tom 2009-02-17 17:01:53
如果您可以設置cron作業(通過管理面板),您仍然應該可以做到這一點,但是您可能會失去一些安全性(例如:需要將緩存目錄移到web根目錄中)。 – 2009-02-17 17:25:51