Да, вы можете сделать это без проблем.У входного класса CodeIgniter есть метод is_ajax_request ().Просто проверьте это в начале действия вашего контроллера.Например:
function ajax_save() {
if ($this->input->is_ajax_request()) {
//continue on as per usual
} else {
show_error("No direct access allowed");
//or redirect to wherever you would like
}
}
Если у вас есть контроллеры, которые полностью предназначены для вызовов ajax, вы можете поместить это выражение if в конструктор function __construct()
для контроллера.Не забудьте сначала вызвать parent :: __ constructor ()!
Редактировать: Что касается «исходящих со страницы», вам, вероятно, следует выполнять проверку подлинности + проверки безопасности (вероятно, через сеанс, чтобы не попастьбаза данных) по вашему запросу ajax.Таким образом, пользователь-мошенник, не связанный с вашим веб-приложением, в любом случае не должен иметь возможность отправлять ajax-запрос вручную.Надеюсь, что это отвечает на ваш вопрос.