2016-06-27 79 views
0

我有一个Apache Tomcat服务器来读取来自我的webapp的请求。Tomcat忽略发布参数请求

在我的webapp我有一个提交表单,并张贴了大量的POST参数,围绕8K〜

然而,当我尝试调试入口点,其中HttpServletRequest的,我总是收到确切6841.该来自表单的输入被创建迭代多个元素,意味着最后一个与其他成功的表单完全相同

我无法显示NDA原因的代码。 我放弃了前端作为一个问题,因为使用嗅探器,我能够看到完整的post参数列表被发送。

我相信我走在正确的轨道上,我认为Tomcat正在抛弃其他的参数。帖子大小限制远远超出了请求的大小,并且我们没有在server.xml上配置post参数计数(默认值为10,000,我没有达到该数量)。

我发现的所有答案都是关于根本不发送参数或抛出错误,在这种情况下,它们被Tomcat忽略。

+0

在这种情况下,我建议你自己调试tomcat代码。 – DiogoSantana

+0

它是否使用少于6841,假设5k POST参数? –

+0

@AlexBaban yes,2,3,4,5k,2k。但在我了解的奇数号6841 –

回答

1

将POST参数的数量(不是帖子大小)增加到20,000可以解决我的问题。这是在使用maxParameterCount Tomcat的server.xml配置完成:

maxParameterCount属性控制的 参数和值对(GET加POST),其可被解析并存储在请求 的最大数目。过多的参数被忽略。如果你想 拒绝这样的请求,配置一个FailedRequestFilter。

+0

可能有助于从server.xml中包含新的参数/属性值。 – Leigh

+0

应该在这个年代之前添加了,但是完成了。 –

+0

谢谢。迟到比从来没有更好:-) – Leigh