Столкнулся с той же проблемой, что я закончил тем, что отключил глобальную проверку CSRF и сделал это в контроллере.
Так что в моем приложении / config / config.php я установил
$config['csrf_protection'] = FALSE;
В моем собственном контроллере (application / core / MY_Controller.php) у меня есть атрибут для управления csrf_protection, например:
class MW_Controller extends CI_Controller {
var $csrf_protection = TRUE; // on by default
function __construct()
{
parent::__construct();
if ($this->csrf_protection)
{
$this->security->csrf_verify();
}
}
....
Другие мои контроллеры расширяют MY_Controller, поэтому я могу просто установить $ csrf-> Защита ложная, как мне нужно.Например, мой контроллер аутентификации отключает CSRFchecks:
class Auth extends My_Controller {
var $csrf_protection = FALSE; // don't need CSRF during login
....
Надеюсь, что это помогает, он выполняет свою работу без взлома ядра.