2013-09-04 2 views
0

Я использую Codeigniter для создания веб-приложения. Проблема, с которой я сталкиваюсь, связана с функцией отправки формы. Я хочу сделать это, чтобы предотвратить прямой доступ к URL-адресу с помощью функции в форме. Поэтому, если кто-то копирует метод действия из формы и вводит его по URL-адресу, он откажет в доступе.предотвратить прямой доступ к функции формы post в codeigniter

Прошу вас, провери меня.

Спасибо.

ответ

3

Строго говоря, делать что-то вроде if($_POST) или if($this->input->post()) будет работать в 90% случаев, они Арен '100% правильно. Почему нет? Хорошо, если у вас есть сообщение, в котором человек вызвал форму без фактического заполнения чего-либо, они все равно останутся POST.

Если вы действительно хотите, чтобы кто-то был POST Для вашего контроллера, вам необходимо проверить REQUEST_METHOD.

if($_SERVER['REQUEST_METHOD'] === 'POST') 
{ 
    // this is a POST 
} 
else 
{ 
    show_404('not-a-POST!'); 
} 

Все, что сказал, есть очень несколько раз, когда ограничение на POST является лучшим вариантом. Реально, вы должны обрабатывать GET и POST изящно.

1

Try:

if($this->input->post(null)){ 
    //your form submit code here 
} 
0

Вы просто проверить $ _POST переменной, чтобы сделать это,

if(!is_array($_POST) || count($_POST)==0) 
{ 
    die('You have no access'); 
} 
Смежные вопросы