CSRF после (включить в true) не работает INSERT, ADD, DELETE - PullRequest
0 голосов
/ 09 июля 2019

Я хочу, чтобы токен генерировал CSRF в среде CodeIgniter, поэтому я включаю изменения токена csrf true.

Here is the image

$.ajaxSetup({
        headers: {
          '<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>'
        }
    });
    $(document).on('click', '.update', function(){
      var id = $(".data-check:checked").val();
            $.ajax({  
             url:"<?php echo base_url(); ?>MasterPartTypeController/part_type_fetch_getbyid",  
             method:"POST",  
             data:{id:id},  
             dataType:"json",  
             success:function(data)      
             {  
                $('#part_type').val(data.part_type);
                $('#description').val(data.description);
                $('#id').val(id);
                $(".ui-page-toggler" ).slideToggle("slow");
                $('.ui-page-toggler').removeClass('hide');
                $('#action').val("Edit");  
             }  
        })  
    });

403 Запрещено

1 Ответ

0 голосов
/ 09 июля 2019

Я думаю, что проблема заключается в том, что codeigniter выглядит в сообщениях, а не в заголовке. Я использую этот код в верхней части моего заголовочного файла:

            var token = {};
            token['<?php echo $this->security->get_csrf_token_name(); ?>'] = '<?php echo $this->security->get_csrf_hash(); ?>';
                jQuery.ajaxSetup({
                    data: token,
                    type: 'POST',
                    error: function (jqXHR, textStatus, errorThrown) {
                        if (jqXHR.status == 404) {
                            alert('AJAX page not found.');
                        } else {
                            console.error('AJAX Error: ' + textStatus + ': ' + errorThrown);
                        }
                    }
                });
...