Codeigniter CSRF和浏览器Cookie设置

时间:2017-11-18 00:17:32

标签: php ajax cookies codeigniter-3

我正在使用codeigniter,我使用Cookie的数据库设置,并且CRSF处于活动状态。我的网站也在使用SSL。我一直有问题,有时我的表格和AJAX工作正常,有时我收到“你所要求的行动是不允许的。”错误。

我注意到我的表单/ AJAX提交在某些浏览器中工作正常而不是其他浏览器,我终于弄明白这是因为我的cookie设置。

我接受Chrome中的Cookie而不是Firefox,我的网站按照Chrome设计的方式运行。

有没有办法让我的浏览器设置保持“不接受cookie”并仍然使用Codeignier和CSRF?以下是我的配置设置。正如我所提到的,我的代码在我接受cookie的浏览器中运行得很好。

$config['sess_driver']             = 'database';
$config['sess_cookie_name']        = 'ci_session';
$config['sess_expiration']         = 0;
$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']    = '.mysite.com';
$config['cookie_path']      = '/';
$config['cookie_secure']    = FALSE;
$config['cookie_httponly']  = FALSE;

$config['csrf_protection']   = TRUE;
$config['csrf_token_name']   = 'msmm_tn';
$config['csrf_cookie_name']  = 'msmm_cn';
$config['csrf_expire']       = 7200;
$config['csrf_regenerate']   = TRUE;
$config['csrf_exclude_uris'] = array();

0 个答案:

没有答案