web-dev-qa-db-fra.com

Nombre maximum de paramètres passés dans une publication

Je reçois cette erreur:

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

Il semble y avoir une limite sur le nombre de paramètres passés dans un post.

Comment pourrais-je étendre cette limite dans JBoss? 

13
Giant2

Le nombre de paramètres était limité sur tous les serveurs Web afin de permettre le raccordement de la attaque par déni de service par collision avec une table de hachage .

Vous pouvez augmenter la limite en ajoutant la propriété système suivante au fichier de configuration (par exemple standalone.xml):

<property name="org.Apache.Tomcat.util.http.Parameters.MAX_COUNT" value="10000"/>

( la source )

19
Aaron Digulla

Juste au cas où: pour un Tomcat ordinaire, la solution correspondante consiste à ajouter:

org.Apache.Tomcat.util.http.Parameters.MAX_COUNT=10000

dans catalina.properties

8
bwt

Oui c'est vrai! M. Aaron Digulla avait la bonne réponse!
Mais veuillez noter que: dans Jboss 7, veuillez insérer la ligne

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

juste après la balise <extensions>, sinon Jboss 7 passera par erreur lors de l'analyse de standalone.xml, laissez-moi par exemple: 

<?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>
4
Trong-Hieu Tran

Vous devez coller l'extrait suivant dans votre serveur standalone.xml de Jboss:

<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>

Focus sur HTTP Listener tag avec max-value value est ce qui fait la différence. La valeur par défaut pour ce champ est: -

org.Apache.Tomcat.util.http.Parameters.MAX_COUNT=1000

Cela a été fait pour remédier à l'attaque par déni de service par collision avec la table de hachage, comme indiqué ici

0

Si vous utilisez WildFly, vous pouvez également éditer le fichierstandalone.xmlet ajoutermax-parameters:

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

exemple 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>

...
0
ℛɑƒæĿ