Вы можете сделать следующее в своем коде, хотя мой процесс может быть неправильным.
В наборе config.php $config['csrf_protection'] = TRUE;
В каждой форме POST, если не используется помощник формы, затем перед кнопкой отправки используйте следующий скрытый ввод:
<input type="hidden" name="<?php echo $this->security->get_csrf_token_name();?>" value="<?php echo $this->security->get_csrf_hash();?>">
Там, где задействован Ajax, используйте код, подобный -
..........
"ajax":{
url:"<?=site_url();?>folder/controllername/methodname",
type:"POST",
"dataType" : "json",
"data":{
'<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>'
},
},
...............