Parameters Count Greater Than Limit

我们的新项目在QA测试阶段遭遇以下错误:

java.lang.RuntimeException: parameters count greater than limit! max: 100

最初我们以为是 ngnix 的限制,然后拿掉 nginx 之后,错误依旧,而 resin 的配置文件,没并发现可以限制的配置。最闹心的是,本地 Windows 无法重现。

我的直觉:

这是容器出于安全的考虑,对程序做的默认限制,我建议,修改程序适应规范。

咨询了下首席架构师:

这是我们resin的一个限制,避免太多的参数攻击。如果你的应用需要很多的post,让网络取消这个限制吧,更换resin.jar。但是可能收到攻击。

批量数据用一个参数,不要用太多参数也行。

用一个参数也可以穿大批数据。更简单,支持参数太多容易受攻击。

完整报错:

at com.caucho.server.connection.Form.parsePostData(Unknown Source)
at com.caucho.server.connection.AbstractHttpRequest.parseQuery(AbstractHttpRequest.java:2070)
at com.caucho.server.connection.AbstractHttpRequest.getParameterValues(AbstractHttpRequest.java:1996)
at com.caucho.server.connection.AbstractHttpRequest.getParameter(AbstractHttpRequest.java:2006)
at _jsp._action._do_0task__jsp._jspService(_do_0task__jsp.java:81)
at com.caucho.jsp.JavaPage.service(JavaPage.java:61)
at com.caucho.jsp.Page.pageservice(Page.java:578)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:195)
at cn.pconline.activity.util.AgentFilter.doFilter(AgentFilter.java:70)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
at cn.pconline.activity.util.EnvFilter.doFilter(EnvFilter.java:43)
at com.caucho.server.dat com.caucho.server.port.TcpConnection.run(TcpConnection.java:682)
at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:730)
at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:649)

1 Comment

Got Something To Say:

Your email address will not be published. Required fields are marked *

*

今天这个记录被同事搜索到了……

© 2006-2018. Powered by WordPress Romangie & Bootstrap. ICP No. 15008795