{"id":57223,"date":"2017-03-27T21:51:58","date_gmt":"2017-03-27T21:51:58","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/blob-mimes\/"},"modified":"2025-09-17T03:38:51","modified_gmt":"2025-09-17T03:38:51","slug":"blob-mimes","status":"publish","type":"plugin","link":"https:\/\/bn.wordpress.org\/plugins\/blob-mimes\/","author":10721345,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.4.2","stable_tag":"1.4.2","tested":"6.8.5","requires":"5.2","requires_php":"7.4","requires_plugins":null,"header_name":"Lord of the Files: Enhanced Upload Security","header_author":"Blobfolio, LLC","header_description":"","assets_banners_color":"4f3049","last_updated":"2025-09-17 03:38:51","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/blobfolio.com\/donate.html","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/blob-mimes\/","header_author_uri":"https:\/\/blobfolio.com\/","rating":5,"author_block_rating":0,"active_installs":1000,"downloads":96106,"num_ratings":10,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.5.0":{"tag":"0.5.0","author":"blobfolio","date":"2017-05-02 19:34:04"},"0.5.1":{"tag":"0.5.1","author":"blobfolio","date":"2017-05-04 21:36:26"},"0.5.2":{"tag":"0.5.2","author":"blobfolio","date":"2017-05-11 19:47:13"},"0.5.3-0":{"tag":"0.5.3-0","author":"blobfolio","date":"2017-05-19 18:56:54"},"0.5.4":{"tag":"0.5.4","author":"blobfolio","date":"2017-06-01 17:26:30"},"0.5.5":{"tag":"0.5.5","author":"blobfolio","date":"2017-06-02 17:17:06"},"0.5.6":{"tag":"0.5.6","author":"blobfolio","date":"2017-07-02 16:06:57"},"0.6.0":{"tag":"0.6.0","author":"blobfolio","date":"2017-07-03 18:29:20"},"0.6.1":{"tag":"0.6.1","author":"blobfolio","date":"2017-07-11 17:44:26"},"0.6.2":{"tag":"0.6.2","author":"blobfolio","date":"2017-08-02 14:04:29"},"0.6.3":{"tag":"0.6.3","author":"blobfolio","date":"2017-09-01 17:41:52"},"0.6.4":{"tag":"0.6.4","author":"blobfolio","date":"2017-09-05 13:59:53"},"0.6.5":{"tag":"0.6.5","author":"blobfolio","date":"2017-09-07 15:48:01"},"0.6.6":{"tag":"0.6.6","author":"blobfolio","date":"2017-10-05 03:04:15"},"0.6.7":{"tag":"0.6.7","author":"blobfolio","date":"2017-10-14 18:39:27"},"0.7.0":{"tag":"0.7.0","author":"blobfolio","date":"2017-10-19 17:51:17"},"0.7.1":{"tag":"0.7.1","author":"blobfolio","date":"2017-10-28 22:21:38"},"0.7.2":{"tag":"0.7.2","author":"blobfolio","date":"2017-11-08 17:57:29"},"0.7.3":{"tag":"0.7.3","author":"blobfolio","date":"2017-12-01 20:04:04"},"0.7.4":{"tag":"0.7.4","author":"blobfolio","date":"2018-01-01 16:19:03"},"0.7.5":{"tag":"0.7.5","author":"blobfolio","date":"2018-02-04 17:19:55"},"0.7.6":{"tag":"0.7.6","author":"blobfolio","date":"2018-03-01 19:01:18"},"0.7.7":{"tag":"0.7.7","author":"blobfolio","date":"2018-03-29 16:20:52"},"0.8.0":{"tag":"0.8.0","author":"blobfolio","date":"2018-04-18 17:44:50"},"0.8.1":{"tag":"0.8.1","author":"blobfolio","date":"2018-04-29 19:38:59"},"0.8.2":{"tag":"0.8.2","author":"blobfolio","date":"2018-05-18 05:32:01"},"0.8.3":{"tag":"0.8.3","author":"blobfolio","date":"2018-06-01 21:21:31"},"0.8.4":{"tag":"0.8.4","author":"blobfolio","date":"2018-06-17 04:26:36"},"0.8.5":{"tag":"0.8.5","author":"blobfolio","date":"2018-07-02 02:44:12"},"0.8.6":{"tag":"0.8.6","author":"blobfolio","date":"2018-10-01 16:33:37"},"0.8.7":{"tag":"0.8.7","author":"blobfolio","date":"2018-12-01 17:40:55"},"0.8.8":{"tag":"0.8.8","author":"blobfolio","date":"2019-01-01 22:20:25"},"0.9.0":{"tag":"0.9.0","author":"blobfolio","date":"2019-03-08 18:37:49"},"0.9.1":{"tag":"0.9.1","author":"blobfolio","date":"2019-04-02 17:53:59"},"0.9.2":{"tag":"0.9.2","author":"blobfolio","date":"2019-06-01 17:47:50"},"0.9.3":{"tag":"0.9.3","author":"blobfolio","date":"2019-07-01 17:51:07"},"0.9.4":{"tag":"0.9.4","author":"blobfolio","date":"2019-08-01 17:43:47"},"0.9.5":{"tag":"0.9.5","author":"blobfolio","date":"2019-09-01 17:23:05"},"0.9.6":{"tag":"0.9.6","author":"blobfolio","date":"2019-10-01 16:58:17"},"0.9.7":{"tag":"0.9.7","author":"blobfolio","date":"2019-10-30 19:43:50"},"0.9.8":{"tag":"0.9.8","author":"blobfolio","date":"2019-10-31 17:02:57"},"0.9.9":{"tag":"0.9.9","author":"blobfolio","date":"2019-12-01 19:27:56"},"1.0.0":{"tag":"1.0.0","author":"blobfolio","date":"2019-12-20 17:50:47"},"1.1.0":{"tag":"1.1.0","author":"blobfolio","date":"2020-04-01 19:17:53"},"1.1.1":{"tag":"1.1.1","author":"blobfolio","date":"2020-04-01 19:34:07"},"1.1.2":{"tag":"1.1.2","author":"blobfolio","date":"2020-05-15 03:45:44"},"1.1.3":{"tag":"1.1.3","author":"blobfolio","date":"2020-05-21 07:22:06"},"1.1.4":{"tag":"1.1.4","author":"blobfolio","date":"2020-05-25 02:03:51"},"1.1.5":{"tag":"1.1.5","author":"blobfolio","date":"2020-06-24 18:09:21"},"1.1.6":{"tag":"1.1.6","author":"blobfolio","date":"2020-07-29 00:55:39"},"1.1.7":{"tag":"1.1.7","author":"blobfolio","date":"2020-08-07 16:54:50"},"1.1.8":{"tag":"1.1.8","author":"blobfolio","date":"2020-09-01 01:00:06"},"1.1.9":{"tag":"1.1.9","author":"blobfolio","date":"2020-11-01 19:25:16"},"1.2.0":{"tag":"1.2.0","author":"blobfolio","date":"2020-11-18 21:49:16"},"1.2.1":{"tag":"1.2.1","author":"blobfolio","date":"2020-12-09 05:49:41"},"1.2.2":{"tag":"1.2.2","author":"blobfolio","date":"2021-02-01 21:50:34"},"1.2.3":{"tag":"1.2.3","author":"blobfolio","date":"2021-02-19 02:48:24"},"1.2.4":{"tag":"1.2.4","author":"blobfolio","date":"2021-03-02 04:24:36"},"1.2.5":{"tag":"1.2.5","author":"blobfolio","date":"2021-04-05 01:25:33"},"1.2.6":{"tag":"1.2.6","author":"blobfolio","date":"2021-04-09 19:33:12"},"1.2.7":{"tag":"1.2.7","author":"blobfolio","date":"2021-05-04 18:41:13"},"1.2.8":{"tag":"1.2.8","author":"blobfolio","date":"2021-07-21 00:45:14"},"1.2.9":{"tag":"1.2.9","author":"blobfolio","date":"2021-08-01 18:52:45"},"1.3.0":{"tag":"1.3.0","author":"blobfolio","date":"2021-10-27 13:28:12"},"1.3.1":{"tag":"1.3.1","author":"blobfolio","date":"2021-12-05 05:54:52"},"1.3.10":{"tag":"1.3.10","author":"blobfolio","date":"2022-11-01 15:50:39"},"1.3.11":{"tag":"1.3.11","author":"blobfolio","date":"2022-12-01 16:21:38"},"1.3.12":{"tag":"1.3.12","author":"blobfolio","date":"2023-01-01 19:45:48"},"1.3.13":{"tag":"1.3.13","author":"blobfolio","date":"2023-03-01 16:22:14"},"1.3.14":{"tag":"1.3.14","author":"blobfolio","date":"2023-05-01 19:19:37"},"1.3.15":{"tag":"1.3.15","author":"blobfolio","date":"2023-07-02 16:37:46"},"1.3.16":{"tag":"1.3.16","author":"blobfolio","date":"2023-07-06 18:39:56"},"1.3.17":{"tag":"1.3.17","author":"blobfolio","date":"2023-10-01 18:24:14"},"1.3.18":{"tag":"1.3.18","author":"blobfolio","date":"2024-01-01 20:21:46"},"1.3.19":{"tag":"1.3.19","author":"blobfolio","date":"2024-04-30 17:48:54"},"1.3.2":{"tag":"1.3.2","author":"blobfolio","date":"2021-12-31 22:00:14"},"1.3.20":{"tag":"1.3.20","author":"blobfolio","date":"2024-06-17 17:19:12"},"1.3.21":{"tag":"1.3.21","author":"blobfolio","date":"2024-10-01 16:38:36"},"1.3.3":{"tag":"1.3.3","author":"blobfolio","date":"2022-01-29 02:08:09"},"1.3.4":{"tag":"1.3.4","author":"blobfolio","date":"2022-03-01 22:02:52"},"1.3.5":{"tag":"1.3.5","author":"blobfolio","date":"2022-04-01 20:08:41"},"1.3.6":{"tag":"1.3.6","author":"blobfolio","date":"2022-05-02 17:21:27"},"1.3.7":{"tag":"1.3.7","author":"blobfolio","date":"2022-06-08 18:42:35"},"1.3.8":{"tag":"1.3.8","author":"blobfolio","date":"2022-08-04 17:53:07"},"1.3.9":{"tag":"1.3.9","author":"blobfolio","date":"2022-09-02 20:22:46"},"1.4.0":{"tag":"1.4.0","author":"blobfolio","date":"2025-01-04 05:57:16"},"1.4.1":{"tag":"1.4.1","author":"blobfolio","date":"2025-04-15 17:50:06"},"1.4.2":{"tag":"1.4.2","author":"blobfolio","date":"2025-09-17 03:38:51"}},"upgrade_notice":{"1.4.2":"<p>This release updates the MIME database.<\/p>","1.4.1":"<p>This release updates the MIME database.<\/p>","1.4.0":"<p>This release updates the MIME database.<\/p>","1.3.21":"<p>This release updates the MIME database.<\/p>","1.3.20":"<p>This release updates the MIME database.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":10},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2889646,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2889646,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2889646,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2889646,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.5.0","0.5.1","0.5.2","0.5.3-0","0.5.4","0.5.5","0.5.6","0.6.0","0.6.1","0.6.2","0.6.3","0.6.4","0.6.5","0.6.6","0.6.7","0.7.0","0.7.1","0.7.2","0.7.3","0.7.4","0.7.5","0.7.6","0.7.7","0.8.0","0.8.1","0.8.2","0.8.3","0.8.4","0.8.5","0.8.6","0.8.7","0.8.8","0.9.0","0.9.1","0.9.2","0.9.3","0.9.4","0.9.5","0.9.6","0.9.7","0.9.8","0.9.9","1.0.0","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8","1.1.9","1.2.0","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.1","1.3.10","1.3.11","1.3.12","1.3.13","1.3.14","1.3.15","1.3.16","1.3.17","1.3.18","1.3.19","1.3.2","1.3.20","1.3.21","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.3.8","1.3.9","1.4.0","1.4.1","1.4.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2889646,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2889646,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Example output from <code>Tools &gt; Debug File Validation<\/code>.","2":"The plugin includes a settings wizard under <code>Settings &gt; File Settings<\/code>."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[138643,3011,1176,2904,247987],"plugin_category":[54],"plugin_contributors":[81811],"plugin_business_model":[],"class_list":["post-57223","plugin","type-plugin","status-publish","hentry","plugin_tags-file-validation","plugin_tags-mime","plugin_tags-security-plugin","plugin_tags-svg","plugin_tags-upload-security","plugin_category-security-and-spam-protection","plugin_contributors-blobfolio","plugin_committers-blobfolio"],"banners":{"banner":"https:\/\/ps.w.org\/blob-mimes\/assets\/banner-772x250.png?rev=2889646","banner_2x":"https:\/\/ps.w.org\/blob-mimes\/assets\/banner-1544x500.png?rev=2889646","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/blob-mimes\/assets\/icon-128x128.png?rev=2889646","icon_2x":"https:\/\/ps.w.org\/blob-mimes\/assets\/icon-256x256.png?rev=2889646","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/blob-mimes\/assets\/screenshot-1.png?rev=2889646","caption":"Example output from <code>Tools &gt; Debug File Validation<\/code>."},{"src":"https:\/\/ps.w.org\/blob-mimes\/assets\/screenshot-2.png?rev=2889646","caption":"The plugin includes a settings wizard under <code>Settings &gt; File Settings<\/code>."}],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<p>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.<\/p>\n\n<p>The main features include:<\/p>\n\n<ul>\n<li>Robust <em>real<\/em> filetype detection;<\/li>\n<li>Full MIME alias mapping;<\/li>\n<li>SVG sanitization (if SVG uploads have been independently allowed);<\/li>\n<li>File upload validation debugger;<\/li>\n<li>Fixes issues related to <a href=\"https:\/\/core.trac.wordpress.org\/ticket\/40175\">#40175<\/a> that have been present since WordPress <code>4.7.1<\/code>.<\/li>\n<li>Fixes ambiguous media extensions <a href=\"https:\/\/core.trac.wordpress.org\/ticket\/40921\">#40921<\/a><\/li>\n<\/ul>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 5.2 or later.<\/li>\n<li>PHP 7.4 or later.<\/li>\n<li><code>dom<\/code> PHP extension.<\/li>\n<li><code>fileinfo<\/code> PHP extension.<\/li>\n<li><code>mbstring<\/code> PHP extension.<\/li>\n<li><code>xml<\/code> PHP extension.<\/li>\n<\/ul>\n\n<p>Please note: it is <strong>not safe<\/strong> to run WordPress atop a version of PHP that has reached its <a href=\"http:\/\/php.net\/supported-versions.php\">End of Life<\/a>. Future releases of this plugin might, out of necessity, drop support for old, unmaintained versions of PHP. To ensure you continue to receive plugin updates, bug fixes, and new features, just make sure PHP is kept up-to-date. :)<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>This plugin does not make use of or collect any \"Personal Data\".<\/p>\n\n<!--section=installation-->\n<p>Nothing fancy!  You can use the built-in installer on the Plugins page or extract and upload the <code>blob-mimes<\/code> folder to your plugins directory via FTP.<\/p>\n\n<p>To install this plugin as <a href=\"https:\/\/wordpress.org\/support\/article\/must-use-plugins\/\">Must-Use<\/a>, download, extract, and upload the <code>blob-mimes<\/code> folder to your <code>mu-plugins<\/code> directory and follow the third example listed under <a href=\"https:\/\/wordpress.org\/support\/article\/must-use-plugins\/#caveats\">Caveats<\/a>; the main file for this plugin is <code>blob-mimes\/index.php<\/code>.<\/p>\n\n<p>Please note: MU Plugins are removed from the usual update-checking process, so you will need to handle all future updates manually.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='does%20this%20require%20any%20theme%20or%20config%20changes%3F'><h3>Does this require any theme or config changes?<\/h3><\/dt>\n<dd><p>This plugin is intended to be an activate-and-forget sort of affair for most users. All features are enabled by default.<\/p>\n\n<p>But if you're a developer or system administrator, you might take a peek at <code>Tools &gt; File Validation Reference<\/code> for a list of public filters you can hook into to change things up, and <code>Settings &gt; File Settings<\/code> for global configuration overrides.<\/p><\/dd>\n<dt id='this%20has%20mostly%20helped%20but%20i%20am%20still%20having%20trouble%20with%20one%20file...'><h3>This has mostly helped but I am still having trouble with one file...<\/h3><\/dt>\n<dd><p>While this plugin extends MIME alias handling more than 20-fold(!), we are still busy tracking down all the edge cases.<\/p>\n\n<p>Please go to <code>Tools &gt; Debug File Validation<\/code> and post the output from that page into a new support ticket for this plugin.<\/p>\n\n<p>We'll gladly see if we can cook up a fix or workaround!<\/p><\/dd>\n<dt id='does%20this%20plugin%20enable%20svg%20support%3F'><h3>Does this plugin enable SVG support?<\/h3><\/dt>\n<dd><p>No. This plugin does not modify your site's allowed upload types (see e.g. <a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Filter_Reference\/upload_mimes\">upload_mimes<\/a> for that). However if SVGs are otherwise enabled for your site, this plugin will <em>sanitize<\/em> them at the upload stage to make sure they do not contain any dangerous exploits.<\/p>\n\n<p>There are a number of SVG-related filters that can be used to modify the sanitization behavior. Take a look at <code>Tools &gt; File Validation Reference<\/code> for more information.<\/p>\n\n<p>If you find the filters too aggressive, add <code>const LOTF_NO_SANITIZE_SVGS = true;<\/code> to your <code>wp-config.php<\/code> to disable the extra sanitizing.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>[Misc] Update MIME database.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>[Misc] Update MIME database.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>[Misc] Update MIME database.<\/li>\n<\/ul>\n\n<h4>1.3.21<\/h4>\n\n<ul>\n<li>[Misc] Update MIME database.<\/li>\n<\/ul>\n\n<h4>1.3.20<\/h4>\n\n<ul>\n<li>[Misc] Update MIME database.<\/li>\n<\/ul>","raw_excerpt":"This plugin expands file-related security and sanity around the upload process.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/57223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=57223"}],"author":[{"embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/blobfolio"}],"wp:attachment":[{"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=57223"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=57223"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=57223"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=57223"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=57223"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=57223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}