Jump to: navigation, search

Difference between revisions of "Jetty/Howto/Configure Form Size"

< Jetty‎ | Howto
m
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Jetty Howto
 
{{Jetty Howto
|introduction = Modifying the maximum permissable size of submitted form content.
+
|introduction = Jetty limits the amount of data that can post back from a browser or other client to the server. This helps protect the server against denial of service attacks by malicious clients sending huge amounts of data. The default maximum size Jetty permits is 200000 bytes. You can change this default for a particular webapp, for all webapps on a particular Server instance, or all webapps within the same JVM.
  
== Form Content Size ==
+
== Changing the Maximum Form Size for a Single Webapp ==
  
Jetty limits the amount of data that can be posted back from a browser or other client to the server. This helps protect the server against denial of service attacks by malicious clients sending huge amounts of data.
+
The method to invoke is:
  
 +
<source lang="java">
 +
ContextHandler.setMaxFormContentSize(int maxSize);
 +
</source>
  
== Changing for a single webapp ==
+
You can do this either in a [[Jetty/Feature/ContextDeployer|context XML deployment descriptor]] external to the webapp, or in a [[Jetty/Reference/jetty-web.xml|<tt>jetty-web.xml</tt> file]] in the webapp's <tt>WEB-INF</tt> directory.
  
Context files are normally located in <jetty.home>/contexts/ (see [[Jetty/Feature/ContextDeployer|ContextDeployer]] for more details). Context files can be used to configure the size of the maximum form content:
+
In either case the syntax of the XML file is the same:
  
 
<source lang="xml">
 
<source lang="xml">
  
 
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
 
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
 
  <Set name="contextPath">/</Set>
 
  <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/test.war</Set>
 
 
 
   <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
 
   <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
 
   <!-- Max Form Size                                                  -->
 
   <!-- Max Form Size                                                  -->
Line 25: Line 24:
 
</source>
 
</source>
  
== Changing for all apps on a Server ==
+
== Changing the Maximum Form Size for All Apps on a Server ==
 +
 
 +
Set an attribute on the Server instance for which you want to modify the maximum form content size:
  
 
<source lang="xml">
 
<source lang="xml">
<!--?xml version="1.0"  encoding="ISO-8859-1"?-->
 
 
 
 
<configure class="org.eclipse.jetty.server.Server">
 
<configure class="org.eclipse.jetty.server.Server">
 
       <Call name="setAttribute">
 
       <Call name="setAttribute">
Line 36: Line 34:
 
       <Arg>200000</Arg>
 
       <Arg>200000</Arg>
 
     </Call>
 
     </Call>
 +
</configure>
 +
</source>
  
 +
== Changing the Maximum Form Size for All Apps in the JVM==
  
  <set name="maxFormContentSize"></set>
+
Use the system property "org.eclipse.jetty.server.Request.maxFormContentSize".
</configure>
+
</source>
+
  
 
| category = [[category:Jetty Howto]]
 
| category = [[category:Jetty Howto]]
 
}}
 
}}

Revision as of 13:49, 18 August 2011



Introduction

Jetty limits the amount of data that can post back from a browser or other client to the server. This helps protect the server against denial of service attacks by malicious clients sending huge amounts of data. The default maximum size Jetty permits is 200000 bytes. You can change this default for a particular webapp, for all webapps on a particular Server instance, or all webapps within the same JVM.

Changing the Maximum Form Size for a Single Webapp

The method to invoke is:

ContextHandler.setMaxFormContentSize(int maxSize);

You can do this either in a context XML deployment descriptor external to the webapp, or in a jetty-web.xml file in the webapp's WEB-INF directory.

In either case the syntax of the XML file is the same:

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <!-- Max Form Size                                                   -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <Set name="maxFormContentSize">200000</Set>
</Configure>

Changing the Maximum Form Size for All Apps on a Server

Set an attribute on the Server instance for which you want to modify the maximum form content size:

<configure class="org.eclipse.jetty.server.Server">
      <Call name="setAttribute">
      <Arg>org.eclipse.jetty.server.Request.maxFormContentSize</Arg>
      <Arg>200000</Arg>
    </Call>
</configure>

Changing the Maximum Form Size for All Apps in the JVM

Use the system property "org.eclipse.jetty.server.Request.maxFormContentSize".