2012-01-26 142 views
1

我設置了我的IX虛擬主機,每15分鐘進行一次cronjob。.htcaccess阻止cron請求?

usr/bin/wget -O- http://xxx.com/php/xxx.php 

我想要的PHP文件夾,從出於安全原因,所有外的請求被封鎖了,所以我設置的.htaccess文件從所有否認。但是,當.htaccess文件存在時,cron作業被拒絕,並出現403錯誤。

我認爲服務器端cronjobs不被.htaccess阻止?有什麼辦法可以解決這個問題嗎?

+1

在一個側面不是:任何你需要網絡服務器的原因?我會說一個'/ usr/bin/php /path/to/greader_forceupdate.php arg1 arg2 etc ..'會容易得多,而且容易出錯...... – Wrikken

回答

1

更改cron作業。
/path/to/web/root是文件系統上的路徑。

要訪問參數,請使用$_SERVER['argv'][1]

+0

我看着它,我認爲問題是該PHP二進制文件未安裝,我必須聯繫技術支持。謝謝。 – user998266

+0

安裝'php5-cli'軟件包 –

+0

得到它安裝和工作,謝謝。對於IX主機的任何其他人,PHP現在位於/ hsphere/shared/php5/bin/php,並且您的文件位於/hsphere/local/home/USERNAME/domain.com/script.php – user998266

3

這仍然是來自本地主機的web請求,因爲wget是一個常規的HTTP客戶端請求該頁面,並且Web服務器正在爲其提供服務(即使它不會產生供人閱讀的輸出)。相反,拒絕所有的,允許本地主機:如果在其他地方安裝了PHP進行調整

/usr/bin/php /path/to/web/root/php/greader_forceupdate.php xxxx 

/usr/bin/php可能需要:

Order deny,allow 
Allow from 127.0.0.1 
Deny from all 
3

您可以添加類似:

Order deny,allow 
Allow from 192.168.0.1/24 
Allow from 127 
Deny from all 

在.htacces允許從本地Intranet IP(192.168.0.1/24)接入和本地主機的IP,即127.0.0.1

+0

那就是我想要的帖子。 –