【问题标题】:CSRF issue crops up when data reaches certain amount当数据达到一定数量时会出现 CSRF 问题
【发布时间】:2013-10-25 02:32:27
【问题描述】:

我已经在整个应用程序中集成了 csrf。直到今天与客户一起向他们展示时,任何地方都没有问题。相关区域允许用户搜索、选择所代表项目的子集(或全部),然后继续使用它们进行一些数据处理。

在您达到约 70 条记录之前,它完全可以正常工作。如果您选择了 > 70 个项目并单击按钮继续,则被调用的函数将返回 CSRF 错误The action you have requested is not allowed.

如果我删除项目以使其低于 70,那么它会再次起作用。如果我将 csrf 令牌打印到控制台,它仍然会在尝试提交 70 多个项目数组时准确显示。

我在 Codeigniter 中使用 jQuery。

感谢您的任何意见!

最好的,

【问题讨论】:

  • 可能与您配置允许的最大帖子值有关(请参阅stackoverflow.com/questions/9505192/…),70 条记录(每条记录可能有多个字段)可以加起来。
  • 啊啊啊还没考虑到。好点子。会尝试并回复您!
  • 所以我运行phpinfo(); 以确保我正在编辑正确的php.ini 文件。在输出中得到以下信息:Configuration File (php.ini) Path /Applications/MAMP/bin/php/php5.4.4/confLoaded Configuration File /Library/Application Support/appsolute/MAMP PRO/conf/php.ini。然后我继续编辑 both 以确保 max_input_vars 将更新为 10000 而不是 1000。phpinfo() 仍然显示默认值 1000 是正在读取的值/见过。我也停止并重新启动了 Apache,以防出现问题。关于为什么不采取任何想法?
  • 您是否有“扫描此目录以获取其他 .ini 文件” 或 _“已解析的其他 .ini 文件”_?可能在那里。此外,在您的网络服务器配置和 .htaccess 文件中递归 grep,它是 PHP_INI_PERDIR,因此可以在那里配置。

标签: javascript php jquery codeigniter csrf


【解决方案1】:

使用以下过程进行故障排除:

  • 检查数据在会话中的存储方式
  • 如果数据存储在会话中,检查不同请求的cookie
  • 如果 cookie 大小根据数据集发生变化,则可能已达到限制
  • 限制因浏览器而异,因此请跨浏览器进行比较

参考文献

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 2021-01-11
    • 2015-12-02
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多