我设置了我的IX Webhosting,每15分钟执行一次以下的cronjob。
usr/bin/wget -O- http://xxx.com/php/xxx.php
出于安全原因,我希望将php文件夹从所有外部请求中阻止,因此我将.htaccess文件设置为拒绝所有。但是当.htaccess文件存在时,cron作业被拒绝,出现403错误。
我认为服务器端的cronjobs没有被.htaccess阻止?有没有办法解决这个问题?
答案 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]
。