Codeigniter CSRF Valid For Only One Time Ajax Request


Answer :

In my opinion you should try to recreate your csrf token each request

Try this code example...

For the js funcion

var csrfName = '<?php echo $this->security->get_csrf_token_name(); ?>',     csrfHash = '<?php echo $this->security->get_csrf_hash(); ?>'; ("#avatar").change(function(){     var link = $("#avatar").val();      var dataJson = { [csrfName]: csrfHash, id: "hello", link: link };      $.ajax({         url : "<?php echo base_url('main/test'); ?>",         type: 'post',         data: dataJson,                     success : function(data)         {                csrfName = data.csrfName;             csrfHash = data.csrfHash;             alert(data.message);         }       }); }); 

and for the controller

public function test() {      $config['upload_path'] = './uploads/';      $config['allowed_types'] = 'gif|jpg|png';      $config['max_size'] = 500;      $config['max_width'] = 260;      $config['max_height'] = 260;       $reponse = array(                 'csrfName' => $this->security->get_csrf_token_name(),                 'csrfHash' => $this->security->get_csrf_hash()                 )      $this->load->library('upload', $config);      if (!$this->upload->do_upload('link')) {          $reponse['message'] = "error";      }      else {          $data = array('upload_data' => $this->upload->data());          $image_name = $data['upload_data']['file_name'];          $reponse['message'] = $image_name;      }       echo json_encode($reponse); } 

Let me know and good luck

Note: When someone ask you for posting more data to the question, don't post it as a comment or answer, it's better to edit the question itself and adding the stuff


You can set this in config.php

$config['csrf_regenerate'] = FALSE; 

so the csrf protection is valid during all the session time it will solve your problem. If you set $config['csrf_regenerate'] = true; then CI generate new csrf token every request so your old csrf token not match with new generated csrf token


Comments

Popular posts from this blog

Chemistry - Bond Angles In NH3 And NCl3

Are Regular VACUUM ANALYZE Still Recommended Under 9.1?

Change The Font Size Of Visual Studio Solution Explorer