关于CSRF配置问题
在用CI开发系统,在配置文件里面打开了CSRF:$config['csrf_protection'] = TRUE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;
但是在调试中发现,无论如何设置下列两个参数,如:
$config['csrf_token_name'] = 'abc';
$config['csrf_cookie_name'] = 'def';
这两个配置项没有起作用,在Security.php文件里面,已经写死了cookie名和token名:
protected $_csrf_token_name = 'ci_csrf_token';
protected $_csrf_cookie_name = 'ci_csrf_token';
能否请教一下各位大神,是否这两个参数已经无用了?谢谢
在 表单辅助函数处会用到
当你开启CSRF后会自动生成以'csrf_token_name'为ID的token
ci 的类库都可以通过同名 config 文件来控制类库的属性,这个是一个 CI 的基本特性。
所以,你看到类库写死了,其实是可以用 Config 来修改的。 foreach(array('csrf_expire', 'csrf_token_name', 'csrf_cookie_name') as $key)
{
if (FALSE !== ($val = config_item($key)))
{
$this->{'_'.$key} = $val;
}
}
代码里面已经将配置文件里面的值, 修改了默认的值
页:
[1]