Как использовать ввод формы в функции контроллера для ввода кода аутентификации для безопасной отправки формы (НЕ ВАЛИДАЦИЯ, НО ВЕРИФИКАЦИЯ) В CodeIgniter - PullRequest
0 голосов
/ 29 октября 2018

это моя страница контроллера:

 function saveNewForm()
 {
   //----------- verifying code-------------------------
    $transactionCode = 0010; // any secret code
    echo "
         <input type='text' name='value'>
         <input type='submit' name='submit'>
         ";
    if($this->input->post('value') == $transactionCode){

        //----------- posting data from view--------------------
        $form = $this->input->post();
        $data = $form;
        $this->load->model('user_model');
        $result = $this->user_model->saveNewTransaction($data);

        redirect('transactions');
    }
 }

Я знаю, что есть некоторая ошибка в утверждении if, что я сравниваю $this->input->post('value'), который на самом деле не приходит из FORM, но уже находится в контроллере.

$ form получает данные со страницы просмотра, которые также имеют ФОРМУ.

Как сделать, чтобы это работало нормально.

Я хочу проверить пользователя, разрешив ему ввести пароль дляотправить форму.

Я пытался использовать onsubmit в форме, но этот код можно удалить из элемента проверки в браузере, и, к сожалению, пользователь может обойти это.

Я делаю это для безопасностицель, чтобы я мог свести к минимуму пользователя для внесения изменений в данные, используя различные методы.

1 Ответ

0 голосов
/ 29 октября 2018

Я не уверен в этом, но вы можете попробовать этот код

function saveNewForm()
{
$transactionCode = 0010; // any secret code
echo "
     <form action='' method='post'>
        <input type='text' name='value'>
        <input type='submit' name='submit'>
     </form>
     ";
if(!empty($this->input->post('value')){
    if($this->input->post('value') <> $transactionCode){
        exit();
    }
}

$form = $this->input->post();
$data = $form;
$this->load->model('user_model');
$result = $this->user_model->saveNewTransaction($data);

redirect('transactions');


}

но когда вы нажимаете кнопку "Отправить", данные сообщения имеют только "значение"

и для чего "$ form = $ this-> input-> post ();"

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