.htcaccess блокирует запрос cron? - PullRequest
1 голос
/ 27 января 2012

Я настроил свой IX веб-хостинг на выполнение следующего cronjob каждые 15 минут.

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

Я хочу, чтобы папка php была заблокирована от всех внешних запросов по соображениям безопасности, поэтому я установил .htaccessфайл отрицать от всех.Но когда файл .htaccess присутствует, в работе cron отказано с ошибкой 403.

Я думал, что cronjobs на стороне сервера не заблокированы .htaccess?Есть ли способ обойти это?

Ответы [ 3 ]

3 голосов
/ 27 января 2012

Вы можете добавить что-то вроде:

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

в вашем .htacces для разрешения доступа с локального IP-адреса интрасети (192.168.0.1/24) и локального IP-адреса, т.е. 127.0.0.1

3 голосов
/ 27 января 2012

Это по-прежнему веб-запрос от localhost, так как wget - это обычный HTTP-клиент, запрашивающий страницу, и веб-сервер обслуживает ее (даже если она не может выдавать вывод для чтения человеком).Вместо того, чтобы отказывать всем, разрешите localhost:

Order deny,allow
Allow from 127.0.0.1
Deny from all
1 голос
/ 27 января 2012

Измените задание cron на:

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

/usr/bin/php, возможно, потребуется скорректировать, если PHP установлен где-то еще.
/path/to/web/root - это путь в файловой системе.* Для доступа к параметру используйте $_SERVER['argv'][1].

...