我正在研究一个模块,该模块需要提交一个包含大量参数(8k-10k)的表格。我不确定这是不是一个好主意。但就是这样。我已更改neo-runtime.xml
中<var name='postParametersLimit'><number>10000.0</number></var>
文件中的设置,如下所示:
{{1}}
和重新启动服务器。但没用。 CF仍然会抛出错误500.我们看不到任何强大的信息。我正在使用CF9.0.2,我们正在使用IIS 7.5。我需要做什么吗?
答案 0 :(得分:2)
&#34;我们为客户提供了一个动态表单,他可以在其中添加自己的表单字段,现在我们遇到了这个问题。客户期望与我们对客户需要方式的思考之间存在不匹配。&#34;
不幸的是,您必须告诉客户他们无法按照自己的意愿行事。出于安全原因,该后处理限制是存在的,如果您将其提高得太高,则您需要将服务器重新打开到a denial of service attack using a hash algorithm collision。
我们的工作流程系统中有数以万计的表格,并与银行和政府客户合作。应用此更新后(首先在开发中),我们必须将默认值提高到某个值并坚持使用它。我们确保向整个业务团队注意这一限制,并将其添加到我们的编码标准文档中,以确保所有新开发都按照标准完成。在重新设计了一些现有表单以解决限制之后,我们能够毫无问题地将安全更新推向生产。
告诉他们单个表单中的字段数存在安全限制,并且不能越过该行。如果您需要收集那么多数据,他们必须将其分解为多种形式。
答案 1 :(得分:1)
您可以使用cfgrid
而不是使用包含大量数据的长格式来从用户那里获取输入。
cfgrid
允许您仅从数据库加载有限数量的数据。
使用它可以防止一次发布和加载大量数据。
如果您不是cfgrid
cfajax
个{{1}}功能的绝佳支持者,您仍然可以使用分页或类似内容,这样您就可以在表单中加载有限数量的数据减少数据发布。但是后者需要你自己构建一个逻辑。
答案 2 :(得分:0)
首先从CF服务器限制开始。这篇博文应该会给你一个指向可以调整限制的指针:
http://www.cutterscrossing.com/index.cfm/2012/3/27/ColdFusion-Security-Hotfix-and-Big-Forms