Dex*_*xty 7 php frameworks codeigniter token
我做了一个简单的注册/新闻网站,但我有一个奇怪的问题.有些人会收到错误消息
一个错误遇到您所请求是不允许的行动.
我已经尝试过google,发现当CSRF设置为true时,人们遇到了同样的问题.但是,我并不发生在每个人,只是一小群人.我正在使用form_open和form_close,我可以看到隐藏字段(令牌).
我正在使用最新版本的Codeigniter 2.0.2
这是我的控制器
function __construct() {
parent::__construct();
session_start();
}
function index() {
$this->load->model('beta_signup_model');
$this->form_validation->set_rules('mail','e-mail','required|valid_email|xss_clean|callback__mail_check');
// Check for errors
if($this->form_validation->run() == FALSE) {
// The system found a form validation error
} else {
// No errors found
$_SESSION['mail_success'] = 1;
$_SESSION['mail'] = $this->input->post('mail');
redirect(base_url() . 'confirm');
}
///// FILLS OUT INPUT FIELDS /////
// Loads field_populator_helper
$this->load->helper('field_populator_helper');
// Defines input field names
$input_names = array(
'mail',
);
// Defines default values
$default_values = array(
'Skriv inn e-posten din..',
);
// Auto-populates fields with blur and focus
$data['field_populator'] = populateFields($input_names, $default_values);
$this->load->view('frontpage_view', $data);
}
Run Code Online (Sandbox Code Playgroud)
小智 1
当隐藏字段中的令牌与 cookie 中的令牌匹配时,CSRF 有效。检查四件事:
不要使用本机 php 会话(session_start 等)。切换到 CI 中的 Session 类。http://codeigniter.com/user_guide/libraries/sessions.html
检查 /application/config/config.php 中的 cookie 配置
检查表单中令牌的值,每次页面刷新是否不同?
也许尝试从https://bitbucket.org/ellislab/codeigniter-reactor/downloads下载当前版本的 CI