Ajax With Csrf Protection показывает 403, запрещенных в codeigniter 3.1.9 - PullRequest
0 голосов
/ 14 сентября 2018

У меня проблема при отправке запроса на контроллер через ajax с включенной защитой csrf.Всегда выдает ошибку, поскольку 403 запрещено.Столкнувшись с этой проблемой на локальном и на живом сервере также.Использование condeigniter 3.1.9

Ниже приведены мои значения конфигурации.

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

Код Ajax as Follow

$.ajax({
    type:"POST",
    url:"http://localhost/Demo/products/getdata",
    dataType:'html',
    data:"char="+char,
    success: function(data){
        $('#proCatS').html(data);
    }
});

Пожалуйста, помогите решить эту проблему.Спасибо!

1 Ответ

0 голосов
/ 14 сентября 2018

Вы можете получить коды csrf_token_name и csrf_hash и передать эти параметры в POST

var csfrData = {};
 csfrData['<?php echo $this->security->get_csrf_token_name(); ?>']
                   = '<?php echo $this->security->get_csrf_hash(); ?>';
$.ajax({
    type:"POST",
    url:"http://localhost/Demo/products/getdata",
    data:{char:char, csrf_test_name:csfrData},
    success: function(data){
        $('#proCatS').html(data);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...