| // ======================================================================== |
| // Copyright (c) 1995-2017 Mort Bay Consulting Pty. Ltd. |
| // ======================================================================== |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v1.0 |
| // and Apache License v2.0 which accompanies this distribution. |
| // |
| // The Eclipse Public License is available at |
| // http://www.eclipse.org/legal/epl-v10.html |
| // |
| // The Apache License v2.0 is available at |
| // http://www.opensource.org/licenses/apache2.0.php |
| // |
| // You may elect to redistribute this code under either of these licenses. |
| // ======================================================================== |
| |
| [[setting-form-size]] |
| === Setting Max Form Size |
| |
| 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. |
| |
| ==== For a Single Webapp |
| |
| The method to invoke is: `ContextHandler.setMaxFormContentSize(int maxSize);` |
| |
| This can be done 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: |
| |
| [source, xml, subs="{sub-order}"] |
| ---- |
| <Configure class="org.eclipse.jetty.webapp.WebAppContext"> |
| <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> |
| <!-- Max Form Size --> |
| <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> |
| <Set name="maxFormContentSize">200000</Set> |
| </Configure> |
| ---- |
| |
| ==== 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, xml, subs="{sub-order}"] |
| ---- |
| <Configure class="org.eclipse.jetty.server.Server"> |
| <Call name="setAttribute"> |
| <Arg>org.eclipse.jetty.server.Request.maxFormContentSize</Arg> |
| <Arg>200000</Arg> |
| </Call> |
| </Configure> |
| ---- |
| |
| ==== For All Apps in the JVM |
| |
| Use the system property `org.eclipse.jetty.server.Request.maxFormContentSize`. |
| This can be set on the command line or in the `start.ini` or `start.d\server.ini` file. |