帖子中传递的最大参数数量

时间:2012-09-05 08:18:57

标签: html jboss

我收到此错误:

Exception during request processing:
Caused by javax.servlet.ServletException with message:
"Parameter count exceeded allowed maximum: 512"

帖子中传递的参数数量似乎有限制。

我怎样才能在JBoss中扩展这个限制?

5 个答案:

答案 0 :(得分:20)

所有网络服务器中的参数数量都有限,无法插入hashmap collision denial of service attack

您可以通过将以下系统属性添加到配置文件来提高限制(例如standalone.xml):

<property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT" value="10000"/>

source

答案 1 :(得分:9)

以防万一:对于普通的Tomcat,相应的解决方案是添加:

org.apache.tomcat.util.http.Parameters.MAX_COUNT=10000
catalina.properties

中的

答案 2 :(得分:5)

是的,这是对的! Aaron Digulla先生有正确的答案! 但请注意:在Jboss 7中,请插入行

<system-properties>
        <property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT"value="10000"/> </system-properties>

 在<extensions>标记之后,如果不是Jboss 7在解析standalone.xml时会出错,那么举个例子:

<?xml version='1.0' encoding='UTF-8'?>
<server xmlns="urn:jboss:domain:1.2">
<extensions>
    <extension module="org.jboss.as.clustering.infinispan"/>
    <extension module="org.jboss.as.configadmin"/>
    ...
</extensions>
<system-properties>
    <property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT" value="10000" />
</system-properties>

答案 3 :(得分:0)

如果您使用WildFly,另一种方法是修改 standalone.xml 文件并添加 max-parameters

<强> <http-listener name="default" socket-binding="http" max-parameters="2690"/>

standalone.xml示例:

...

<subsystem xmlns="urn:jboss:domain:undertow:1.1">
   <buffer-cache name="default"/>
   <server name="default-server">
       <!-- change here-->
       <http-listener name="default" socket-binding="http" max-parameters="2690"/>
       <!-- change here-->
       <host name="default-host" alias="localhost">
           <location name="/" handler="welcome-content"/>
           <filter-ref name="server-header"/>
           <filter-ref name="x-powered-by-header"/>
       </host>
    </server>

...

答案 4 :(得分:0)

您需要将以下代码段粘贴到Jboss服务器的standalone.xml中:

<server name="default-server">
                <http-listener name="default" socket-binding="http" max-parameters="5000"/>
                <https-listener name="https" socket-binding="https" max-parameters="5000"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                    <http-invoker security-realm="ApplicationRealm"/>
                </host>

重点在于具有最大参数值的HTTP Listener标记的不同之处。此字段的默认值为:-

org.apache.tomcat.util.http.Parameters.MAX_COUNT=1000

这是对extract

的哈希映射冲突拒绝服务攻击的一种补救措施