Как я могу ограничить доступ к определенным функциям в CodeIgniter? - PullRequest
2 голосов
/ 15 марта 2010

У меня огромный контроллер в codeigniter, со многими функциями. Я хочу ограничить доступ к определенным функциям. Как мне поступить?

А можно ли вызывать функции с помощью демона cron ???

Или я должен поместить эти функции в другой контроллер ??

Ответы [ 3 ]

2 голосов
/ 15 марта 2010
  1. a) Чтобы ограничить доступ к функциям вашего контроллера, вы должны использовать пример объявления закрытой функции:

function _example_function () {...} ИСПОЛЬЗОВАНИЕ подчеркивания !!

Таким образом, невозможно вызвать эту функцию по URL.

  1. b) Другой простой способ ограничить доступ к функциям в вашем контроллере - это использовать переменные и состояния сеанса для блокировки доступа.

2.) Да, вы можете использовать cron для запуска функции, просто вызовите URL:

http://host/controller_name/FUNCTION

С уважением,
Pedro

0 голосов
/ 16 ноября 2012

Другой способ - использовать защищенное пространство имен. Когда я пытаюсь вызвать функцию, которая помечена как защищенная, я могу использовать ее в коде PHP, но при попытке загрузить ее через браузер я получаю 404.

Конечно, пометить его как частное тоже будет полезно, но тогда вы потеряете возможность использовать функцию в расширении вашего класса. При работе с расширениями ядра очень много проблем.

у.е. Roman

0 голосов
/ 15 марта 2010

У меня огромный контроллер в codeigniter, со многими функциями. я хотите ограничить доступ к определенным функции. Как мне поступить?

Вы можете использовать некоторые средства управления доступом на основе сеанса, чтобы ограничить доступ только к определенным контроллерам -> функциям. В начале функции вы можете разместить код, например if ($ _ SESSION ['user']! = 'Xyz') exit ('access denied');

А можно ли вызывать функции, используя cron демон ???

да, с помощью этой команды вы можете вызвать любую функцию контроллера в cron wget https://www.example.com/controller-name/function-name

Или я должен поместить эти функции в другой контроллер? Всегда хорошая идея реорганизовать код, если он становится очень большим и становится неуправляемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...