我正在使用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();