我有一個CRON工作php腳本,我剛剛設立不久前。但是,我注意到PHP文件執行(沒有cron作業激活)。看來,它發生時,谷歌機器人抓取的文件,因爲我注意到以下引擎訪問我頁面:爬行可能爲谷歌機器人執行PHP腳本
1)是否有可能,即:
http://www.google.com/bot.html
我的問題是我的網頁,它可能已經執行了腳本?
2)如何從Google隱藏CRON文件?
3)將這個文件放在除public_html目錄以外的地方會很聰明嗎?
非常感謝!
我有一個CRON工作php腳本,我剛剛設立不久前。但是,我注意到PHP文件執行(沒有cron作業激活)。看來,它發生時,谷歌機器人抓取的文件,因爲我注意到以下引擎訪問我頁面:爬行可能爲谷歌機器人執行PHP腳本
1)是否有可能,即:
http://www.google.com/bot.html
我的問題是我的網頁,它可能已經執行了腳本?
2)如何從Google隱藏CRON文件?
3)將這個文件放在除public_html目錄以外的地方會很聰明嗎?
非常感謝!
1)當然它是
2)看到的robots.txt(http://www.searchtools.com/robots/robots-txt.html)
3)是。但如果由於某種原因你依靠通過http守護進程調用它,你可以使用一些小技巧。
例如。第一行代碼:
if(!isset($_GET['execute'])
exit;
在crontab
:
1)如果文件被放置在公共網頁目錄,那麼,它可能被Googlebot的執行(或任何其他訪問者)
2)您可以在robots.txt中爲它添加一個Disallow子句。任何普通用戶仍然可以通過訪問來執行它,如果你這樣做。
3)是的。
您也可以使用php-cli。定義如果是cron作業:
define('_DOING_CRON_', true);
然後在PHP文件:
if(_DOING_CRON_ && php_sapi_name() != 'cli'){
die("You cannot get here: this is only cron task.");
}
上述Runifus的回答解決了這個問題對我來說,但是cron作業命令行不與工作?在URL中通過查詢字符串,因爲我在這裏學到:Cron Jobs calling a PHP script with variables
它應該是像這樣:
http://server.tld/file.php execute=1
也php的條件缺少一個右括號
if(!isset($_GET['execute'])) exit;