Контроллеры Zend с действиями, которые должны выполняться cron, но доступны только при входе в систему?

#zend-framework #cron

#zend-фреймворк #хрон

Вопрос:

В моем веб-приложении есть область администрирования, в которой есть несколько действий, которые необходимо выполнить с помощью cron. Доступ к ним возможен только в том случае, если вы вошли в систему. Есть ли какой-либо способ получить к ним доступ через cron, сохраняя их защищенными, чтобы к ним нельзя было получить прямой доступ?

Ответ №1:

  1. Обычно я определяю ключ в конфигурации своего приложения и проверяю его в своем контроллере, связанном с cron.

Затем в моем cron я вызываю свой контроллер через wget и передаю ключ в качестве параметра get

 http://mywebapp.dn.com/cronmodule/croncontroller/cronaction?key=Aze532f987H
 
  1. Другим решением является проверка того, что клиент обращается к вашему контроллеру через локальный IP-адрес, см. $_SERVER[‘REMOTE_ADDR’].
  2. Некоторые люди могут порекомендовать вам выполнять такую работу с помощью вызова командной строки (затем вы должны проверить, что ваш контроллер вызывается из командной строки).