目前,我正在使用Codeigniter进行开发。在我的Codeigniter里面,有15个ajax请求调用。每次有请求时,它都会更新csrf令牌值。问题是当它请求超过15次时,它会给出'403 Forbidden'错误。
Codeigniter有限制吗?如果有,我该如何删除此限制? 提前谢谢。
答案 0 :(得分:1)
没有这样的限制。您只是没有跟踪CSRF令牌更新。
每次提交POST请求时,CodeIgniter都会重新生成其CSRF令牌,并将其作为响应中的新CSRF cookie值发回。
如果您没有使用新值更新预先生成的表单(或其他类型的ajax请求数据),他们仍会使用旧令牌并且无法通过验证。
您可以通过在config / config.php文件中设置$config['csrf_regenerate'] = false;
来完全禁用重新生成,但不鼓励这样做。正确的做法是跟踪令牌的变化。