Codeigniter csrf_regenerate

Я использую csrf, чтобы опубликовать мою форму, которая выглядит так:

<form action = "<?php echo base_url()."lang_control/one_lang_faq_add"?>" accept-charset = "UTF-8" method = "post">
    <div class = "form-group">
      <label>ВОПРОС:</label>
      <input class = "form-control faq_add_quest_input" placeholder = "Введите вопрос" name = "faq_quest">
      <input type = "hidden" class = "faq_add_id_input" name = "lang_id">
    </div>
    <div class = "form-group">
      <label>ОТВЕТ:</label>
      <input class = "form-control faq_add_answer_input" placeholder = "Введите ответ" name = "faq_answer">
    </div>
    <input type = "hidden" name = "<?php echo $csrf['name'];?>" value = "<?php echo $csrf['hash'];?>">
    <button type = "submit" class = "btn btn-primary" >Submit</button>
</form>

В конфиге я установил:

$config['csrf_protection'] = TRUE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_exclude_uris'] = array();
$config['csrf_expire'] = 7200;
$config['csrf_regenerate']  =  TRUE;

Мой метод контроллера form_action

  public function one_lang_faq_add(){
        $this->load->model('one_lang_redact');
        $answer = $this->input->post('faq_answer');
        $quest = $this->input->post('faq_quest');
        $id = $this->input->post('lang_id');
        $array = array('answer'=>$answer,'quest'=>$quest,'id'=>$id);
        echo $this->one_lang_redact->lang_faq_add($array);
    }

Мой метод контроллера page_view

 public function __construct(){
            parent::__construct();
            $this->load->database();
            $this->input->post(NULL, TRUE);
            $this->input->get(NULL, TRUE);
            $this->load->library('session');
            $this->load->helper('url');
            $this->load->helper('html');
            $this->load->helper('form');
            $this->_csrf  =  array( 
                'name' => $this->security->get_csrf_token_name(), 
                'hash' => $this->security->get_csrf_hash() 
            );
        }
    public function one_lang_redact($id){
            $this->load->model('one_lang_redact');
            $CFG =& load_class('Config', 'core');
            header('Content-type: text/html; charset=' . $CFG->item('charset'));
            $one_lang = $this->one_lang_redact->select_one_lang($id)->row();
            $lang_faq = $this->one_lang_redact->select_lang_faq($id)->result();


            $key = array("lang" => $one_lang, "lang_faq" => $lang_faq, "csrf"=>$this->_csrf);
            $this->load->view('one_lang.php',$key);
        }

А именно csrf_regenerate должен обновлять мой токен csrf после каждого запроса на публикацию Но этого не происходит, токен открывается только тогда, когда я вручную удаляю файл cookie.

Помогите, что нужно сделать, чтобы для каждого почтового запроса csrf был разным Пожалуйста, помогите мне D:

Метод «действия» формы определен как one_lang_faq_add, но код, который вы показываете, - это метод под названием one_lang_faq_redact. Что с этим?

DFriend 27.04.2018 13:36

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

emirlan1 27.04.2018 13:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
215
0

Другие вопросы по теме