Javascript 使用CSRF codeigniter和ajax登录
我将使用CSRF codeigniter和ajax进行安全登录。但是我的语法有问题。$config['csrf_protection']=TRUE 这是我的表格:Javascript 使用CSRF codeigniter和ajax登录,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我将使用CSRF codeigniter和ajax进行安全登录。但是我的语法有问题。$config['csrf_protection']=TRUE 这是我的表格: <?php echo form_open('admin/info_type_user_log/log_admin',array('id' => 'form-loginx'));?> <div class="input-group" style="margin-bottom:10px;">
<?php echo form_open('admin/info_type_user_log/log_admin',array('id' => 'form-loginx'));?>
<div class="input-group" style="margin-bottom:10px;">
<span class="input-group-addon lab"><span class="glyphicon glyphicon-user"></span></span>
<input type="text" name="username" id="username" class="form-control inp usernamex" placeholder="username" required>
</div>
<div class="input-group" style="margin-bottom:10px;">
<span class="input-group-addon lab"><span class="glyphicon glyphicon-lock"></span></span>
<input type="password" name="password" id="password" class="form-control inp passwordx" placeholder="password" required>
</div>
<button type="submit" name="submit" class="submit_login btn btn-md btn-primary">Login</button>
<label><input type="checkbox" class="lihat"> lihat password</label>
<?php echo form_close();?>
我的模型是:
function valid_log($user,$pass){
$this->db->where('username', $user);
$this->db->where('password', $pass);
$this->db->where('status', 'aktif');
$this->db->where('level', 'admjosslog21');
$this->db->where('akses', '1');
return $this->db->get('user');
}
在ajax中传递
标记名
和散列键
,然后通过post in控制器获取它
data : {csrfName:csrfName,csrfHash:csrfHash,me.serialize},
内部控制器
$reponse = array(
'csrfName' => $this->input->post('csrfName'),
'csrfHash' => $this->input->post('csrfHash')
);
试试这个代码
$("#state1").change(function () {
$.ajax({
url: "<?php echo base_url('admin/get_districtsfromstates'); ?>",
type: "POST",
data: {id: $(this).val(),'<?php echo $this->security->get_csrf_token_name(); ?>': '<?php echo $this->security->get_csrf_hash(); ?>'},
success: function (data)
{
$("#district1").html(data);
}
});
});
$(“#state1”).change(函数(){
$.ajax({
url:“”,
类型:“POST”,
数据:{id:$(this).val(),'':'},
成功:功能(数据)
{
$(#地区1”).html(数据);
}
});
});
Javascript中的PHP是一个丑陋的解决方案,只需将您的脚本列入白名单,如下所示:
$config['csrf_exclude_uris'] = array(
'admin/log_admin', '...', '...',
);
$("#state1").change(function () {
$.ajax({
url: "<?php echo base_url('admin/get_districtsfromstates'); ?>",
type: "POST",
data: {id: $(this).val(),'<?php echo $this->security->get_csrf_token_name(); ?>': '<?php echo $this->security->get_csrf_hash(); ?>'},
success: function (data)
{
$("#district1").html(data);
}
});
});
$config['csrf_exclude_uris'] = array(
'admin/log_admin', '...', '...',
);