我们的网络应用程序的管理部分中的某些表单遇到了问题。有少数表单包含大量字段(范围可以从一个输入字段到数百个)。
我们发现,随着这些表单的增长,在发布表单时,服务器会抛出 500 个错误。
经过测试,我发现服务器可以处理包含 100 个字段的表单;一旦使用 101 个或更多字段,我们就会收到错误。
我们运行 Coldfusion,并且已确定 Coldfusion 不会抛出此错误。我们从未在 Coldfusion 中看到此错误记录,因此我们假设 IIS 在将请求发送到 Coldfusion 服务器之前就抛出了错误。
我假设 IIS 7.5 中有一些设置可以提高此限制。我在网上搜索过,但我能找到的只是如何提高此数据的字节大小限制,而不是对允许的字段数量进行任何限制。
那么,我认为可以改变这一点是否正确?如果可以,该怎么做?
这是修补程序 APSB12-06 引入的问题。虽然这是一个 ColdFusion 错误,但人们已经报告过在 Tomcat 到达 CF 服务器之前收到错误
里面有一个设置neo-runtime.xml
它定义了postsizelimit
- 默认为 100。
完整的注释位于here,但这是简短的版本。
此修补程序在 ColdFusion 中有一个新设置:后参数限制。此设置限制 post 请求中的参数数量。默认值为100。如果post请求中包含的参数超过指定值,服务器将不会处理该请求并抛出异常。此过程使用哈希冲突来防止 DoS 攻击。此设置不同于帖子大小限制(ColdFusion 管理员 > 设置 > 帖子数据的最大大小)。此设置不会在 ColdFusion 管理员控制台中公开。但您可以在 neo-runtime.xml 文件中轻松更改此限制。参见下面第 5 点。
想要更改 postParameterLimit 的客户,请转至 {ColdFusion-Home}/lib 进行服务器安装,或转至 {ColdFusion-Home}/WEB-INF/cfusion/lib 进行多服务器或 J2EE 安装。打开文件 neo-runtime.xml,在该行之后。
<var name='postSizeLimit'><number>100.0</number></var>
添加下面的行,您可以将 100 更改为所需的数字。
<var name='postParametersLimit'><number>100.0</number></var>
CF10+ 的设置可在 CF 管理设置页面中编辑Maximum number of POST request parameters
under Server Settings -> Settings
.
在我们的 9.0.1 服务器上,我们只是将设置增加到 10000,并且没有看到任何不利影响。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)