Prevent large forms being submitted that may blow the server's field count limit and lose data.
Some appications, such as ecommerce sites, can have administration forms that submit well over a thousand
parameters. PHP, by default, is set to accept only one thousand parameters and so some of the submitted data can get lost.
Most applications don’t check whether they received everything, and so data can get broken easily and silently.
A WooCommerce product with 40 variations can have over 1300 submitted form items, and when saving the product you have no idea that much of that data is being discarded.
Luckily the maximum number of accepted parameters can be changed in php.ini
The problem is, many site owners have no idea this needs to be done until it is too late and their application,
for example their WooCommerce store, has lost half its product variations.
If using php.ini on your site, the file needs to be in the /wp-admin directory as that is where the admin forms are submitted to.
To protect yourself and make sure the server limit does not catch
you unawares, install this plugin and let it run in the background. Each time you try to submit a form in the
admin pages (e.g. updating a WooCommerce product with lots of variatrions) this plugin will check that the
number of form parameters you are about to submit does not exceed the server limit. If it does, then it
will inform you and give you the opportunity to postpone the submit while you increase the server settings.
The link above describes how to set the limits on the server. More details in the FQAs.
This plugin has been tested against PHP5.4 but is written to be compatible with PHP5.3. The project repository is here:
https://github.com/academe/wp-max-submit-protect
Note: turning on the Gravity Forms’ “”No-Conflict Mode” will disable this plugin. You may have reasons for using that setting, but it will disable most other plugins, some of which may be security-related.
Please let me know how this plugin works for you, whether you like it, and how it can be improved.
Upload wp-max-submit-protect/ to the /wp-content/plugins/
directory or wp-max-submit-protect-x.y.z.zip through the “Add Plugins” administration page,
or install from wordpress.org by searching for “WP Max Submit Protect”.
Any WordPress site that uses forms which have lots of fields. For example, a WooCommerce site containing products
with many variations.
No! Any WordPress application that submits big forms can benefit from the protection this plugin offers.
Sites with multi-page forms implemented through GravityForms could use this.
Through the plugin no; you just install and go. There may be some server settings to update,
and the purpose of this plugin is to warn you about those.
The PHP ini settings that could affect the data in large forms are:
You may have all, some or none of these settings configured. If none are set, then max_input_vars
will default to 1000. This is certainly too low for some e-commerce plugins.