我有一个CodeIgniter应用程序仍在开发中,但我意识到当我打开CSRF时,它不允许表单提交 . 我正在使用form_open,当我检查表单上的源并且得到错误时,表单上存在CSRF令牌 .

这是我的登录表单

<div class="login-box-body">
<p class="login-box-msg">Log in</p>
<?php echo validation_errors()?"<div class='alert alert-danger'>".validation_errors()."</div>":'';
  echo !empty($error_msg)?"<div class='alert alert-danger'><span class='fa fa-warning'></span> ".$error_msg."</div>":''; 
  echo ($this->session->flashdata('msg'))?$this->session->flashdata('msg'):"";
  echo form_open('',['class'=>'form-horizontal','role'=>'form']); ?>

    <div class="form-group has-feedback">
    <?php echo form_label('Email', 'email', ['class'=>'control-label']);
      echo form_input(['type'=>'email','name'=>'email','value'=> $this->input->post('email'), 'class'=>'form-control','id'=>'email','required'=>'required','placeholder'=>'E-mail Address','autofocus name'=>'email']);?>
    <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
    </div>

  <div class="form-group has-feedback">
  <?php echo form_label('Password', 'password', ['class'=>'control-label']);
      echo form_password(['name'=>'password', 'class'=>'form-control','id'=>'password','required'=>'required','type'=>'password','placeholder'=>'Password']);?>
  <span class="glyphicon glyphicon-lock form-control-feedback"></span>
  </div>

  <div class="form-group has-feedback">
    <div class="checkbox">
      <label>
        <input type="checkbox"> Remember Me
      </label>
    </div>
  </div>
  <div class="form-group has-feedback">
    <div class="text-center">
      <button type="submit" class="btn btn-primary btn-block btn-flat">Login</button>
    </div>
  </div>
  <?php echo form_close(); ?>
<div class="">
  <?php echo anchor('resetpassword',"Forgot Your Password");?>
<!-- <a href="/projects/advert/resetpassword.php">Forgot Your Password?</a><br> --> <br> Don't have an account? <?php echo anchor('account/register',"Register",['class'=>'text-center']); ?> </div>

这是我的config / config.php文件的一部分

$config['base_url'] = 'http://localhost/tmpad/';


$config['encryption_key'] = '4%^&*9799809-nkhdfioup';

$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

$config['cookie_prefix']    = '';
$config['cookie_domain']    = 'http://localhost/tmpad/';
$config['cookie_path']      = '/';
$config['cookie_secure']    = FALSE;
$config['cookie_httponly']  = FALSE;

$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'] = TRUE;
$config['csrf_exclude_uris'] = array();

在提交表单时,我收到以下错误消息:

遇到错误不允许您请求的操作 .

我需要开启CSRF .