.htaccess阻止cron请求?

时间:2012-01-26 21:25:00

标签: php apache .htaccess cron

我设置了我的IX Webhosting,每15分钟执行一次以下的cronjob。

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

出于安全原因,我希望将php文件夹从所有外部请求中阻止,因此我将.htaccess文件设置为拒绝所有。但是当.htaccess文件存在时,cron作业被拒绝,出现403错误。

我认为服务器端的cronjobs没有被.htaccess阻止?有没有办法解决这个问题?

3 个答案:

答案 0 :(得分:3)

这仍然是来自localhost的web请求,因为wget是请求页面的常规HTTP客户端,并且Web服务器正在为其提供服务(即使它可能不会产生供人阅读的输出)。不要拒绝所有,请允许localhost:

Order deny,allow
Allow from 127.0.0.1
Deny from all

答案 1 :(得分: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)和localhost IP(即127.0.0.1)

进行访问

答案 2 :(得分:1)

将cron作业更改为:

/usr/bin/php /path/to/web/root/php/greader_forceupdate.php xxxx
如果在其他地方安装了PHP,则可能需要调整{p> /usr/bin/php /path/to/web/root是文件系统上的路径。

要访问该参数,请使用$_SERVER['argv'][1]