2013-10-10 81 views
0

我應該如何確保我的cronjobs不會被搜索引擎/訪問者訪問,並在標題中寫入正確的URL?如何安全使用cronjobs

我有一個cronjob,即每晚運行,它將信息傳輸到MailChimp,但是如果用戶正確輸入URL,他可以使cronjob隨時運行。我怎樣才能避免這種情況? :)

希望你有一些想法。

在此先感謝。

+1

將腳本放在某處無法從網絡訪問的地方 – 2013-10-10 01:24:27

回答

1

這些文件應該在web根目錄之外,如果它們只被cron調用,則不需要它們在裏面。希望你正在調用文件路徑而不是URL?

+0

我希望您現在可以允許相對路徑! –

+1

嗯,它實際上是我的MVC框架中的應用程序的一部分,因爲我正在使用模型從數據庫中檢索數據,但是我可能應該使用另一種方法,並將它們從應用程序中移走。 – denlau

1

嘗試例如:

1 0 * * * /usr/bin/php /home/denlau/cron.php 

我希望這是有幫助的。

1

我認爲最簡單的解決方案(不更改您的應用程序的體系結構)會將運行此cron作業的URL置於身份驗證之下。可能是HTTP/S basic auth開始。這會給你一些保護。

但是從更長遠的角度來看,在URL命中上運行cron似乎對我來說不是一個好主意。如果可能的話,你應該重新思考這個架構。