2015-09-09 14 views
5

Merhaba seni arıyorum denetleyicisi CodeIgniter yasak ben ajax fonksiyonu ilk kez ÇağrıAjax CSRF 403 CSRF</p> <p>benim ajax kodu etkinleştirme var benim CodeIgniter tabanlı app AJAX kullanarak bölümünü almak için

$('#classes').change(function(){ 
    $classes=$(this).val(); 
      $.ajax({ 
      type:"POST", 
      data:{ 
       '<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>', 
       'class':$classes 
      }, 
      url:"<?php echo base_url();?>index.php/admin/getsection/"+$classes, 
      success:function(return_data) 
      { 
       //alert(return_data); 
       $('#section').html(''); 
       $('#section').html(return_data); 
       $('#section').val(section); 
      } 
    }); 

, onu mükemmel çalışır. ama aynı işlevi tekrar çalıştırdığımda, 403 yasak hata döndürecektir.

Ben the docs itibaren

cevap

10

ne tavsiye edin:

Jeton ya her gönderme (varsayılan) rejenere veya CSRF çerezin ömrü boyunca aynı tutulabilir

. Jetonların varsayılan yenilenmesi daha sıkı güvenlik sağlar, ancak diğer belirteçler geçersiz hale geldikçe (geri/ileri gezinme, çoklu sekmeler/pencereler, eşzamansız eylemler, vb) kullanılabilirlik kaygılarıyla sonuçlanabilir. O YANLIŞ için aşağıdaki yapılandırma parametresini

$config['csrf_regenerate'] = TRUE; 

Seti düzenleyerek bu davranışı değiştirebilir.

+0

teşekkürler @quentin –