2011-12-24 155 views

回答

3

您應該將其保存在無法訪問的目錄中。如果您想將它保留在當前位置,那麼在代碼中,您可以添加一個支票以查看它是從瀏覽器還是爬網程序(使用用戶代理,引用等)調用的,並且是從瀏覽器調用的還是由抓取工具顯示錯誤消息,否則讓它執行。

+0

所以說我的所有網站文件都位於/ root /目錄下,所以我應該把這個文件放在它的外面嗎? – Ilja

+0

是的。如果您的Web可訪問目錄是/ root /,然後在同一級別創建一個目錄(例如/ cron /)並將您的cron文件放入其中。所以它不能通過網絡訪問。 – Virendra

+0

@SergeiTulentsev不,我的意思是如果它被瀏覽器或爬蟲調用,顯示錯誤消息。更新解決方案以反映這一點。 – Virendra

1

有幾個技巧可以幫助你。

  1. 您可以檢查REMOTE_IP。如果它不是localhost,就死。

  2. 您可以驗證是否傳遞了特殊的「祕密」參數。像http://myweb.com/files/file.php?access_key=6rNPY6PhXPDf一樣。如果它不存在或無效,則死亡。

  3. 將這個腳本的文件夾中無法通過網絡訪問(即您的www根外)

2

你如何解決這取決於你的託管環境,但如果你需要http訪問並使用Apache Web服務器,則可以在.htaccess文件中配置訪問權限。如果您使用IIS,請在IIS管理器中配置文件權限並配置訪問權限。順便說一下,他最好的解決方案和最安全的方法是讓文件遠離公共區域,並直接從cron作業調用文件。

相關問題