Lord of the Files
WordPress relies mostly on name-based validation when deciding whether or not to allow a particular file, leaving the door open for various kinds of attacks.
Lord of the Files adds to this content-based validation and sanitizing, making sure that files are what they say they are and safe for inclusion on your site.
The main features include:
- Robust real filetype detection;
- Full MIME alias mapping;
- SVG sanitization (if SVG uploads have been independently allowed);
- File upload validation debugger;
- Fixes issues related to #40175 that have been present since WordPress
- Fixes ambiguous media extensions #40921
- WordPress 5.2 or later.
- PHP 7.2 or later.
Does this require any theme or config changes?
This plugin is intended to be an activate-and-forget sort of affair for most users. All features are enabled by default.
But if you're a developer or system administrator, you might take a peek at
Tools > File Validation Reference for a list of public filters you can hook into to change things up, and
Settings > File Settings for global configuration overrides.
This has mostly helped but I am still having trouble with one file…
While this plugin extends MIME alias handling more than 20-fold(!), we are still busy tracking down all the edge cases.
Please go to
Tools > Debug File Validation and post the output from that page into a new support ticket for this plugin.
We'll gladly see if we can cook up a fix or workaround!
Does this plugin enable SVG support?
No. This plugin does not modify your site's allowed upload types (see e.g. upload_mimes for that). However if SVGs are otherwise enabled for your site, this plugin will sanitize them at the upload stage to make sure they do not contain any dangerous exploits.
There are a number of SVG-related filters that can be used to modify the sanitization behavior. Take a look at
Tools > File Validation Reference for more information.
If you find the filters too aggressive, add
const LOTF_NO_SANITIZE_SVGS = true; to your
wp-config.php to disable the extra sanitizing.