【发布时间】:2018-09-14 18:15:12
【问题描述】:
我在通过 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 代码跟随
$.ajax({
type:"POST",
url:"http://localhost/Demo/products/getdata",
dataType:'html',
data:"char="+char,
success: function(data){
$('#proCatS').html(data);
}
});
请帮助解决这个问题。谢谢!
【问题讨论】:
-
您需要在您的
data对象中包含令牌,例如var csrfName = '<?php echo $this->security->get_csrf_token_name(); ?>', csrfHash = '<?php echo $this->security->get_csrf_hash(); ?>'; -
你也可以使用这个例子johnkieken.com/…
标签: ajax codeigniter codeigniter-3