Решение
Скрипт cron.php регулярно исполняющий сервисные функции сайта по расписанию по умолчанию доступен извне. В принципе его вызов не несёт неприятных последствий для сайта, если cron.php уже исполняется, то его повторное исполнение в это время будет блокировано. Поэтому организовать таким способом DOS атаку на сайт не удастся. Тем не менее, частый вызов скрипта даже с интервалом в секунды или десятки секунд вряд ли имеет смысл, поэтому можно на всякий случай ограничить доступ к cron.php только обращением из скрипта в crontab (т.е. с текущего сервера).
Для этого можно использовать директивы allow from в файле .htaccess:
<Files "cron.php">
Order Deny,Allow
# запрет для всех на доступ к ресурсу
Deny from all
# разрешаем только следующим
Allow from local.
</Files>
Order Deny,Allow
# запрет для всех на доступ к ресурсу
Deny from all
# разрешаем только следующим
Allow from local.
</Files>
Мы запрещаем доступ отовсюду кроме хостов указанных директивами allow.
Использованные материалы
Полезные ссылки
- Практическое руководство по .htaccess
- Конфигурирование сайта с помощью файла .htaccess
- htaccess_howto.txt
Bookmark/Search this post with











Комментарии
Такая конструкция не работает на 5.9
При ее внесении на запрос крона сервер отвечает = Forbidden 403.
При обращении к этому файлу сервер не обязательно отдает адрес 127.0.0.1, посмотри логи и внеси тот IP с которого твой сервер обращается к файлу.