【发布时间】:2011-10-23 02:12:15
【问题描述】:
我正在使用 CI 2。我在配置文件中启用了 CSRF 保护:
$config['csrf_protection'] = TRUE;
$config['csrf_token_name'] = 'sitename';
$config['csrf_cookie_name'] = 'sitename';
$config['csrf_expire'] = 7200;
我只使用 Codeigniter 表单。有时我在提交表单或登录时收到错误“您无权执行此操作”。
如果我刷新并重试,那么一切正常。为什么会这样?
【问题讨论】:
-
那么您提交表单之前的时间可能超过 7200 秒...?或者您是否使用 Ajax 提交表单?因为我在处理代码点火器中的 ajax 表单和 csrf 时遇到问题......这就是我遇到你的问题的方式...... :)
-
问题确实是由于 CSRF cookie 过期。使用 AJAX 时不难解决,但当用户刚刚处于非活动状态时就有点痛苦了。
标签: codeigniter csrf protection