Мой веб-сайт CI имеет защиту csrf.
$config['csrf_protection'] = TRUE;
Итак, когда я повторно отправляю форму путем обновления, я получаю следующую ошибку.
Запрошенное вами действие не разрешено
Вместо того, чтобы показывать это сообщение, я хочу, чтобы оно вернулось на последнюю страницу.
Итак, я пытаюсь переопределить метод csrf_show_error(), расширив файл CI_Security.
Это мой класс, расположенный в application/core/My_Security.php.
class MY_Security extends CI_Security {
public function __construct()
{
parent::__construct();
$this->load->library('user_agent');
}
public function csrf_show_error()
{
// show_error('The action you have requested is not allowed.'); // default code
// force page "refresh" - redirect back to itself
// a page refresh restores the CSRF cookie
if ($this->agent->is_referral())
{
redirect(site_url());
} else {
redirect($_SERVER['HTTP_REFERER']);
}
}
}
Я получаю следующую ошибку
Вызов библиотеки функций-членов() для не-объекта