Как отличить CRON запрос от HTTP запроса

Если я добавил что-то в планировщик задач, то я, вероятно, не хотел бы чтобы этот код был выполнен в неподходящее время пользователем или поисковым роботом, которые могут дернуть страницу через HTTP. Если cron вынесен в отдельный файл, то ограничить доступ к чтению-выполнению можно через chmod или .htaccess. Но существуют объективные риски, что в цикле жизни проекта наступит момент, когда chmod будет изменен или htaccess удален. Поэтому я нахожу предпочтительно использовать дополнгительный уровень защиты. Например, пойдет такая функция:

function disallowHTTPRequests() {
	if (isset($_SERVER['HTTP_HOST'])) {
		exit('This is CRON function. Don`t fuck around.');
	}
}

Hint: Переменная $_SERVER['HTTP_HOST'] при cron запросе не существует, если не объявлена преднамеренно. 

Мои PET-проекты
Матч Шредингера. Про футбол без спойлеров. Сервис помогает выбрать интересный матч для просмотра в записе. Перейти »
MafiozZz. Сервис для тех, кто любит играть в мафию. Сервис дает клубам возможность завести клубный сайт, предоставляет удобный интерфейс для ведения подобной статистики, расписания игр, выдавать игрокам награды, проводь адресную SMS рассылку (и прочие плюшки). Перейти »