【发布时间】:2016-11-23 15:45:29
【问题描述】:
目前,我正在使用 Codeigniter 进行开发。在我的 Codeigniter 中,有 15 个 ajax 请求调用。每次有请求时,它都会更新 csrf 令牌值。问题是当它请求超过 15 次时,它会给出 '403 Forbidden' 错误。
Codeigniter 有限制吗?如果有,我该如何取消这个限制? 提前谢谢你。
【问题讨论】:
目前,我正在使用 Codeigniter 进行开发。在我的 Codeigniter 中,有 15 个 ajax 请求调用。每次有请求时,它都会更新 csrf 令牌值。问题是当它请求超过 15 次时,它会给出 '403 Forbidden' 错误。
Codeigniter 有限制吗?如果有,我该如何取消这个限制? 提前谢谢你。
【问题讨论】:
没有这样的限制。您只是没有跟踪 CSRF 令牌更新。
每次您提交 POST 请求时,CodeIgniter 都会重新生成其 CSRF 令牌并将其作为新的 CSRF cookie 值在响应中发送回。
如果您不使用新值更新预生成的表单(或其他类型的 ajax 请求数据),它们仍将具有旧令牌并且验证失败。
您可以通过在 config/config.php 文件中设置 $config['csrf_regenerate'] = false; 来完全禁用重新生成,但不鼓励这样做。正确的做法是跟踪令牌更改。
【讨论】: