By -
陳 思敬
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 thought on “Parameters Count Greater Than Limit”
Christen December 15, 2016 at 12:26 pm
今天这个记录被同事搜索到了……
Reply