[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fxNP_LDrY8imuZJSPZXWooDFUrfbZ4raN5JkqXj4vPQQ":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":39,"analysis":148,"fingerprints":338},"assets-manager","Assets Manager","1.0.2","Jack Reichert","https:\u002F\u002Fprofiles.wordpress.org\u002Fjackreichert\u002F","\u003Cp>Assets Manager is a self-hosted file sharing tool. Born out of the need for a file sharing tool that was not blocked by high security firewalls, such as many existing file sharing services are, Assets Manager was developed. When you upload a file, or set of files, Assets Manager generates obscured links to the files so that you can control how those files are shared.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.jackreichert.com\u002F2015\u002F11\u002F15\u002Fhow-assets-manager-replaced-our-sharefile\u002F\" rel=\"nofollow ugc\">Here’s how it works.\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Set an expiration period for when the file link will expire.\u003C\u002Fli>\n\u003Cli>Disable links after they’ve been shared (no more fretting when sending out emails).\u003C\u002Fli>\n\u003Cli>Force anyone trying to access a link to log into your site.\u003C\u002Fli>\n\u003Cli>Creates landing page for each asset post type collecting files uploaded together into one link.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For more information check out the full blogpost about \u003Ca href=\"http:\u002F\u002Fwww.jackreichert.com\u002F2014\u002F01\u002F12\u002Fintroducing-assets-manager-for-wordpress\u002F\" rel=\"nofollow ugc\">Assets Manager\u003C\u002Fa>.\u003Cbr \u002F>\nQuestions? Comments? Requests? \u003Ca href=\"http:\u002F\u002Fwww.jackreichert.com\u002Fcontact\u002F\" rel=\"nofollow ugc\">Contact me\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Thanks\u003C\u002Fh3>\n\u003Cp>Special thanks to @binmind for his extensive QA testing of the company’s plugin, his testing was crucial for development of the proof of concept and making sure everything was working as it should.\u003C\u002Fp>\n","Assets Manager for WordPress is a self hosted file sharing tool,  enable \u002F disable links, set expiration and make files you share password protected.",80,8275,100,4,"2016-11-29T02:18:00.000Z","4.7.32","3.7","",[20,21,22,23,24],"asset-management","assets","file-management","file-sharing","uploads","https:\u002F\u002Fwww.jackreichert.com\u002F2015\u002F11\u002Fhow-assets-manager-replaced-our-sharefile\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fassets-manager.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"jackreichert",6,180,30,84,"2026-04-04T09:05:30.226Z",[40,65,86,109,129],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":55,"tags":56,"homepage":61,"download_link":62,"security_score":37,"vuln_count":63,"unpatched_count":28,"last_vuln_date":64,"fetched_at":30},"add-from-server","Add From Server","3.4.5","Dion Hulse","https:\u002F\u002Fprofiles.wordpress.org\u002Fdd32\u002F","\u003Cp>This plugin offers limited support. Please do not expect new features or too many bugfixes. Features may be removed at any time.\u003C\u002Fp>\n\u003Cp>Add From Server is designed to help ease the pain of bad web hosts, allowing you to upload files via FTP or SSH and later import them into WordPress.\u003C\u002Fp>\n\u003Cp>This plugin is NOT designed to..\u003Cbr \u002F>\n * Be used as a replacement for the file uploader\u003Cbr \u002F>\n * Be used for migration of websites\u003Cbr \u002F>\n * Re-import your files after moving webhosting\u003Cbr \u002F>\n * Batch import media\u003C\u002Fp>\n\u003Cp>This plugins IS designed to..\u003Cbr \u002F>\n * Import files which are larger than your hosting allows to be uploaded.\u003Cbr \u002F>\n * Import files which are too large for your internet connections upload speed.\u003C\u002Fp>\n\u003Cp>WordPress does a better job of file uploads than this plugin, so please consider your needs before you use it.\u003C\u002Fp>\n\u003Cp>You may also want to look at using WP-CLI for media import purposes:\u003Cbr \u002F>\nhttps:\u002F\u002Fdeveloper.wordpress.org\u002Fcli\u002Fcommands\u002Fmedia\u002Fimport\u002F\u003C\u002Fp>\n","Add From Server is designed to help ease the pain of bad web hosts, allowing you to upload files via FTP or SSH and later import them into WordPress.",70000,1319395,92,239,"2020-12-11T07:32:00.000Z","5.5.18","5.4","7.0",[57,58,59,60,24],"admin","import","media","post","https:\u002F\u002Fdd32.id.au\u002Fwordpress-plugins\u002Fadd-from-server\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadd-from-server.3.4.5.zip",1,"2016-08-08 00:00:00",{"slug":66,"name":67,"version":68,"author":69,"author_profile":70,"description":71,"short_description":72,"active_installs":73,"downloaded":74,"rating":75,"num_ratings":76,"last_updated":77,"tested_up_to":78,"requires_at_least":79,"requires_php":80,"tags":81,"homepage":84,"download_link":85,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"media-sync","Media Sync","1.4.9","erolsk8","https:\u002F\u002Fprofiles.wordpress.org\u002Ferolsk8\u002F","\u003Cp>This plugin allows you to examine all files within the \u003Ccode>uploads\u003C\u002Fcode> directory to determine which ones are present in the Media Library and which ones are just sitting there unused. You can then choose the files you want to import into the database, thereby including them in the Media Library.\u003C\u002Fp>\n\u003Cp>Moreover, you can utilize FTP to upload files directly to the \u003Ccode>uploads\u003C\u002Fcode> directory and subsequently add these files to the Media Library avoiding any file size limitations.\u003C\u002Fp>\n\u003Ch4>Disclaimers\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\n\u003Cp>“1 file first”\u003Cbr \u002F>\nPlease try to import only one file first – to see if it works as you expected.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>“All at once”\u003Cbr \u002F>\nThis plugin is designed for scanning, selecting, and importing \u003Cstrong>all files at once\u003C\u002Fstrong>. However, based on your server’s configuration, memory, and timeout challenges may arise with extensive file quantities. To mitigate this, a newly revamped \u003Ca href=\"https:\u002F\u002Fmediasyncplugin.com\u002F?utm_source=readme&utm_medium=base_plugin&utm_campaign=aao\" rel=\"nofollow ugc\">pro version\u003C\u002Fa> employs incremental directory scans to effectively tackle these issues.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>“Your setup is unique”\u003Cbr \u002F>\nPlease be aware that every WordPress installation is unique, and there may be instances where this plugin does not function as expected. Should this occur, we recommend enabling the debugging feature in the plugin’s settings to identify the issue. After investigating, kindly provide a detailed description of your findings in the Support section (or \u003Ca href=\"https:\u002F\u002Fusers.freemius.com\u002Fstore\u002F6428\u002Fsupport\" rel=\"nofollow ugc\">here\u003C\u002Fa> if you’re using pro version). The more comprehensive the details, the higher the likelihood of resolving the problem effectively.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Ignored files\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>various hidden files (.DS_Store, .htaccess),\u003C\u002Fli>\n\u003Cli>WP generated thumbnails (files ending with for example -100×100.jpg),\u003C\u002Fli>\n\u003Cli>WP generated scaled images (files ending with -scaled),\u003C\u002Fli>\n\u003Cli>optimized .webp versions of original images (.jpg.webp),\u003C\u002Fli>\n\u003Cli>retina thumbnails (-100×100@2x.jpg).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These can be modified and enhanced using the new advanced filters available in the \u003Ca href=\"https:\u002F\u002Fmediasyncplugin.com\u002F?utm_source=readme&utm_medium=base_plugin&utm_campaign=df\" rel=\"nofollow ugc\">pro version\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Media Sync Pro features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Revised incremental scan\u003C\u002Fstrong>: Allows scanning and importing unlimited number of files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Quick single directory rescan\u003C\u002Fstrong>: Easily rescan one directory to find new files or apply a different filter without reloading the whole page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced filters\u003C\u002Fstrong>: Find any file by customizing all default filters, search for a specific file type (images, videos, etc.), skip by tailor-made rules, or enter any custom pattern.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Schedule automatic imports\u003C\u002Fstrong>: Select a desired interval and let the plugin automatically import any new files it finds.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import logs\u003C\u002Fstrong>: View the history of manual or scheduled imports.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Limit plugin access\u003C\u002Fstrong>: Limit plugin access to a specific role.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Get \u003Ca href=\"https:\u002F\u002Fmediasyncplugin.com\u002F?utm_source=readme&utm_medium=base_plugin&utm_campaign=pfl\" rel=\"nofollow ugc\">pro version here\u003C\u002Fa>.\u003C\u002Fp>\n","Simple plugin to scan \"uploads\" directory and bring those files into Media Library.",40000,527569,94,82,"2025-11-25T08:11:00.000Z","6.9.4","5.3","7.1",[82,58,59,83,24],"ftp","server","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmedia-sync\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmedia-sync.1.4.9.zip",{"slug":87,"name":88,"version":89,"author":90,"author_profile":91,"description":92,"short_description":93,"active_installs":94,"downloaded":95,"rating":96,"num_ratings":97,"last_updated":98,"tested_up_to":78,"requires_at_least":99,"requires_php":100,"tags":101,"homepage":106,"download_link":107,"security_score":13,"vuln_count":63,"unpatched_count":28,"last_vuln_date":108,"fetched_at":30},"amazon-s3-and-cloudfront","WP Offload Media Lite for Amazon S3, DigitalOcean Spaces, and Google Cloud Storage","3.3.0","WP Engine","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpengine\u002F","\u003Cp>FORMERLY WP OFFLOAD S3 LITE\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FI-wTMXMeFu4?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>This plugin automatically copies images, videos, documents, and any other media added through WordPress’ media uploader to \u003Ca href=\"http:\u002F\u002Faws.amazon.com\u002Fs3\u002F\" rel=\"nofollow ugc\">Amazon S3\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.digitalocean.com\u002Fproducts\u002Fspaces\u002F\" rel=\"nofollow ugc\">DigitalOcean Spaces\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fcloud.google.com\u002Fstorage\u002F\" rel=\"nofollow ugc\">Google Cloud Storage\u003C\u002Fa>. It then automatically replaces the URL to each media file with their respective Amazon S3, DigitalOcean Spaces or Google Cloud Storage URL or, if you have configured \u003Ca href=\"http:\u002F\u002Faws.amazon.com\u002Fcloudfront\u002F\" rel=\"nofollow ugc\">Amazon CloudFront\u003C\u002Fa> or another CDN with or without a custom domain, that URL instead. Image thumbnails are also copied to the bucket and delivered through the correct remote URL.\u003C\u002Fp>\n\u003Cp>Uploading files \u003Cem>directly\u003C\u002Fem> to your Amazon S3, DigitalOcean Spaces or Google Cloud Storage account is not currently supported by this plugin. They are uploaded to your server first, then copied to the bucket. There is an option to automatically remove the files from your server once they are copied to the bucket however.\u003C\u002Fp>\n\u003Cp>If you’re adding this plugin to a site that’s been around for a while, your existing media files will not be copied to or served from Amazon S3, DigitalOcean Spaces or Google Cloud Storage. Only newly uploaded files will be copied to and served from the bucket. \u003Ca href=\"https:\u002F\u002Fdeliciousbrains.com\u002Fwp-offload-media\u002Fupgrade\u002F?utm_campaign=WP%2BOffload%2BS3&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting\" rel=\"nofollow ugc\">The pro upgrade\u003C\u002Fa> has an upload tool to handle existing media files.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Image Optimization\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Although WP Offload Media doesn’t include image optimization features, we work closely with the author of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fewww-image-optimizer\u002F\" rel=\"ugc\">EWWW Image Optimizer\u003C\u002Fa> to ensure they always work well together. Not only do we recommend EWWW Image Optimizer but we officially support its integration with WP Offload Media.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>PRO Upgrade with Email Support and More Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Upload existing Media Library to Amazon S3, DigitalOcean Spaces or Google Cloud Storage\u003C\u002Fli>\n\u003Cli>Control offloaded files from the Media Library\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeliciousbrains.com\u002Fwp-offload-media\u002F?utm_campaign=WP%2BOffload%2BS3&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting&utm_content=assets%2Baddon#addons\" rel=\"nofollow ugc\">Assets Pull addon\u003C\u002Fa> – Serve your CSS, JS and fonts via CloudFront or another CDN\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeliciousbrains.com\u002Fwp-offload-media\u002F?utm_campaign=WP%2BOffload%2BS3&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting&utm_content=woocommerce%2Baddon#integrations\" rel=\"nofollow ugc\">WooCommerce integration\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeliciousbrains.com\u002Fwp-offload-media\u002F?utm_campaign=WP%2BOffload%2BS3&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting&utm_content=edd%2Baddon#integrations\" rel=\"nofollow ugc\">Easy Digital Downloads integration\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Priority email support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdeliciousbrains.com\u002Fwp-offload-media\u002Fupgrade\u002F?utm_campaign=WP%2BOffload%2BS3&utm_source=wordpress.org&utm_medium=free%2Bplugin%2Blisting\" rel=\"nofollow ugc\">Compare pro vs free &rarr;\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>The video below runs through the pro upgrade features…\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FI-wTMXMeFu4?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n","Copies files to Amazon S3, DigitalOcean Spaces or Google Cloud Storage as they are uploaded to the Media Library. Optionally configure Amazon CloudFro &hellip;",30000,2455621,74,113,"2026-02-03T10:19:00.000Z","5.9","8.1",[102,103,104,105,24],"amazon","amazon-s3","digitalocean","s3","https:\u002F\u002Fdeliciousbrains.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Famazon-s3-and-cloudfront.3.3.0.zip","2023-04-17 00:00:00",{"slug":110,"name":111,"version":112,"author":111,"author_profile":113,"description":114,"short_description":115,"active_installs":94,"downloaded":116,"rating":117,"num_ratings":118,"last_updated":119,"tested_up_to":78,"requires_at_least":120,"requires_php":55,"tags":121,"homepage":126,"download_link":127,"security_score":13,"vuln_count":63,"unpatched_count":28,"last_vuln_date":128,"fetched_at":30},"protect-uploads","Protect Uploads","0.6.0","https:\u002F\u002Fprofiles.wordpress.org\u002Falticreation\u002F","\u003Cp>The uploads directory is where the files of the WordPress library are stored. Unfortunelty, this directory is not protected. A person who wants to see all your library could list it instantly going to : http:\u002F\u002Fyourwebsite\u002Fwp-content\u002Fuploads . This plugin will hide the content by adding an index.php file on the root of your uploads directory or by setting an htaccess which will return a 403 error (Forbidden Access).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Depending on your server setting, the htaccess option could be disabled.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>New Features in Version 0.6.0:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Image Watermarking\u003C\u002Fstrong>: Add text watermarks to your uploaded images with customizable position, opacity, and font size.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Right-Click Protection\u003C\u002Fstrong>: Prevent users from right-clicking to download or save your images.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Password Protection\u003C\u002Fstrong>: Secure individual media files with passwords. Multiple passwords can be set for each file with custom labels.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Access Logging\u003C\u002Fstrong>: Track who accesses your password-protected files with detailed logs including IP address and user agent.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Available languages:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>Français\u003C\u002Fli>\n\u003Cli>Español\u003C\u002Fli>\n\u003Cli>Italian (thanks to Marko97)\u003C\u002Fli>\n\u003C\u002Ful>\n","Protect your uploads directory. Prevent browsing, add watermarks, disable right-click, and password-protect files. For more information, visit protect &hellip;",1372443,96,12,"2025-12-28T21:59:00.000Z","3.0.1",[122,123,124,24,125],"password-protection","protection","security","watermark","https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fprotect-uploads\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprotect-uploads.0.6.0.zip","2022-08-13 00:00:00",{"slug":130,"name":131,"version":132,"author":133,"author_profile":134,"description":135,"short_description":136,"active_installs":137,"downloaded":138,"rating":13,"num_ratings":139,"last_updated":140,"tested_up_to":78,"requires_at_least":79,"requires_php":141,"tags":142,"homepage":146,"download_link":147,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"disable-media-sizes","Disable Media Sizes","2.5","Jeff Starr","https:\u002F\u002Fprofiles.wordpress.org\u002Fspecialk\u002F","\u003Cp>Easily disable any extra image sizes\u003C\u002Fp>\n\u003Cp>This plugin provides options to disable the extra images generated by WordPress.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Options include\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Disable Thumbnail Size\u003C\u002Fli>\n\u003Cli>Disable Medium Size\u003C\u002Fli>\n\u003Cli>Disable Large Size\u003C\u002Fli>\n\u003Cli>Disable Medium Large (768px)\u003C\u002Fli>\n\u003Cli>Disable 1536×1536 Size\u003C\u002Fli>\n\u003Cli>Disable 2048×2048 Size\u003C\u002Fli>\n\u003Cli>Disable Big\u002FScaled Size\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin settings screen does a good job of explaining the different image sizes. Should all be self-explanatory, let me know if anything can be improved.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Lightweight and secure\u003C\u002Fli>\n\u003Cli>Built with the WP API and standards\u003C\u002Fli>\n\u003Cli>Simple to use – anyone can do it\u003C\u002Fli>\n\u003Cli>One-click restore default options\u003C\u002Fli>\n\u003Cli>Easy peasy.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Why is this useful?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fperishablepress.com\u002Fdisable-wordpress-generated-images\u002F\" rel=\"nofollow ugc\">This article\u003C\u002Fa> explains everything you need to know about the “hows” and the “whys” and such.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Important\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Please understand that this plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Does not affect any existing images\u003C\u002Fli>\n\u003Cli>Only works while the plugin is active\u003C\u002Fli>\n\u003Cli>Does not delete any images\u003C\u002Fli>\n\u003Cli>Only prevents WordPress from generating extra sized images\u003C\u002Fli>\n\u003Cli>If all extra sizes are disabled, only original images will be uploaded\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fperishablepress.com\u002Fdisable-wordpress-generated-images\u002F\" rel=\"nofollow ugc\">Learn more\u003C\u002Fa> about the techniques and code used in this plugin.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Privacy\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin does not collect or store any user data. It does not set any cookies, and it does not connect to any third-party locations. Thus, this plugin does not affect user privacy in any way.\u003C\u002Fp>\n\u003Cp>Disable Media Sizes is developed and maintained by \u003Ca href=\"https:\u002F\u002Fx.com\u002Fperishable\" rel=\"nofollow ugc\">Jeff Starr\u003C\u002Fa>, 15-year \u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002F\" rel=\"nofollow ugc\">WordPress developer\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fbooks.perishablepress.com\u002F\" rel=\"nofollow ugc\">book author\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Support development\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>I develop and maintain this free plugin with love for the WordPress community. To show support, you can \u003Ca href=\"https:\u002F\u002Fmonzillamedia.com\u002Fdonate.html\" rel=\"nofollow ugc\">make a donation\u003C\u002Fa> or purchase one of my books:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwp-tao.com\u002F\" rel=\"nofollow ugc\">The Tao of WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdigwp.com\u002F\" rel=\"nofollow ugc\">Digging into WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fhtaccessbook.com\u002F\" rel=\"nofollow ugc\">.htaccess made easy\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwp-tao.com\u002Fwordpress-themes-book\u002F\" rel=\"nofollow ugc\">WordPress Themes In Depth\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbooks.perishablepress.com\u002Fdownloads\u002Fwizards-collection-sql-recipes-wordpress\u002F\" rel=\"nofollow ugc\">Wizard’s SQL Recipes for WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>And\u002For purchase one of my premium WordPress plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fbbq-pro\u002F\" rel=\"nofollow ugc\">BBQ Pro\u003C\u002Fa> – Blazing fast WordPress firewall\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fblackhole-pro\u002F\" rel=\"nofollow ugc\">Blackhole Pro\u003C\u002Fa> – Automatically block bad bots\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fbanhammer-pro\u002F\" rel=\"nofollow ugc\">Banhammer Pro\u003C\u002Fa> – Monitor traffic and ban the bad guys\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fga-google-analytics-pro\u002F\" rel=\"nofollow ugc\">GA Google Analytics Pro\u003C\u002Fa> – Connect WordPress to Google Analytics\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fhead-meta-pro\u002F\" rel=\"nofollow ugc\">Head Meta Pro\u003C\u002Fa> – Ultimate Meta Tags for WordPress\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fsimple-ajax-chat-pro\u002F\" rel=\"nofollow ugc\">Simple Ajax Chat Pro\u003C\u002Fa> – Unlimited chat rooms\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fusp-pro\u002F\" rel=\"nofollow ugc\">USP Pro\u003C\u002Fa> – Unlimited front-end forms\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Links, tweets and likes also appreciated. Thank you! 🙂\u003C\u002Fp>\n","Provides options to disable the extra images generated by WordPress.",10000,72308,22,"2026-01-28T23:37:00.000Z","5.6.20",[143,144,145,59,24],"disable","disable-image-sizes","images","https:\u002F\u002Fperishablepress.com\u002Fwordpress-disable-media-sizes\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-media-sizes.2.5.zip",{"attackSurface":149,"codeSignals":213,"taintFlows":244,"riskAssessment":325,"analyzedAt":337},{"hooks":150,"ajaxHandlers":191,"restRoutes":209,"shortcodes":210,"cronEvents":211,"entryPointCount":212,"unprotectedCount":212},[151,157,161,166,171,176,181,186],{"type":152,"name":153,"callback":154,"file":155,"line":156},"action","add_meta_boxes","assets_manager_register_meta_box","inc\\Admin.php",24,{"type":152,"name":158,"callback":159,"file":155,"line":160},"admin_enqueue_scripts","load_admin_scripts",25,{"type":152,"name":162,"callback":163,"file":164,"line":165},"init","create","inc\\Asset_Post_Type.php",13,{"type":152,"name":167,"callback":168,"priority":63,"file":169,"line":170},"pre_asset_serve","asset_active_check","inc\\Check_Asset_Restrictions.php",21,{"type":152,"name":167,"callback":172,"priority":173,"file":174,"line":175},"log_asset",10,"inc\\Log_Assets_Access.php",41,{"type":177,"name":178,"callback":179,"file":180,"line":170},"filter","the_content","append_attachments_to_content","inc\\Public.php",{"type":152,"name":182,"callback":183,"file":184,"line":185},"save_post","save_assetset","inc\\Save_AssetSet.php",18,{"type":152,"name":187,"callback":188,"priority":63,"file":189,"line":190},"wp","main","inc\\Serve_Attachment.php",26,[192,197,200,203,206],{"action":193,"nopriv":194,"callback":195,"hasNonce":194,"hasCapCheck":194,"file":196,"line":139},"attach_asset",false,"update_asset_action_func","inc\\Update_Assets.php",{"action":198,"nopriv":194,"callback":195,"hasNonce":194,"hasCapCheck":194,"file":196,"line":199},"update_asset",23,{"action":201,"nopriv":194,"callback":202,"hasNonce":194,"hasCapCheck":194,"file":196,"line":156},"trash_asset","trash_asset_action_func",{"action":204,"nopriv":194,"callback":205,"hasNonce":194,"hasCapCheck":194,"file":196,"line":160},"order_assets","order_assets_action_func",{"action":207,"nopriv":194,"callback":208,"hasNonce":194,"hasCapCheck":194,"file":196,"line":190},"parent_asset","parent_asset_action_func",[],[],[],5,{"dangerousFunctions":214,"sqlUsage":215,"outputEscaping":217,"fileOperations":14,"externalRequests":28,"nonceChecks":63,"capabilityChecks":28,"bundledLibraries":243},[],{"prepared":14,"raw":28,"locations":216},[],{"escaped":34,"rawEcho":118,"locations":218},[219,222,224,225,227,229,231,233,235,237,239,241],{"file":155,"line":220,"context":221},63,"raw output",{"file":155,"line":223,"context":221},65,{"file":155,"line":223,"context":221},{"file":155,"line":226,"context":221},71,{"file":155,"line":228,"context":221},73,{"file":155,"line":230,"context":221},76,{"file":155,"line":232,"context":221},77,{"file":155,"line":234,"context":221},86,{"file":155,"line":236,"context":221},89,{"file":169,"line":238,"context":221},50,{"file":189,"line":240,"context":221},83,{"file":196,"line":242,"context":221},225,[],[245,267,279,291],{"entryPoint":246,"graph":247,"unsanitizedCount":63,"severity":266},"update_asset_action_func (inc\\Update_Assets.php:32)",{"nodes":248,"edges":263},[249,254,258],{"id":250,"type":251,"label":252,"file":196,"line":253},"n0","source","$_POST",52,{"id":255,"type":256,"label":257,"file":196,"line":253},"n1","transform","→ return_response()",{"id":259,"type":260,"label":261,"file":196,"line":242,"wp_function":262},"n2","sink","echo() [XSS]","echo",[264,265],{"from":250,"to":255,"sanitized":194},{"from":255,"to":259,"sanitized":194},"medium",{"entryPoint":268,"graph":269,"unsanitizedCount":63,"severity":266},"order_assets_action_func (inc\\Update_Assets.php:248)",{"nodes":270,"edges":276},[271,274,275],{"id":250,"type":251,"label":272,"file":196,"line":273},"$_POST['order']",256,{"id":255,"type":256,"label":257,"file":196,"line":273},{"id":259,"type":260,"label":261,"file":196,"line":242,"wp_function":262},[277,278],{"from":250,"to":255,"sanitized":194},{"from":255,"to":259,"sanitized":194},{"entryPoint":280,"graph":281,"unsanitizedCount":63,"severity":266},"parent_asset_action_func (inc\\Update_Assets.php:262)",{"nodes":282,"edges":288},[283,286,287],{"id":250,"type":251,"label":284,"file":196,"line":285},"$_POST['ID']",263,{"id":255,"type":256,"label":257,"file":196,"line":285},{"id":259,"type":260,"label":261,"file":196,"line":242,"wp_function":262},[289,290],{"from":250,"to":255,"sanitized":194},{"from":255,"to":259,"sanitized":194},{"entryPoint":292,"graph":293,"unsanitizedCount":324,"severity":266},"\u003CUpdate_Assets> (inc\\Update_Assets.php:0)",{"nodes":294,"edges":315},[295,297,298,299,301,303,305,307,309,311,313],{"id":250,"type":251,"label":252,"file":196,"line":296},35,{"id":255,"type":260,"label":261,"file":196,"line":242,"wp_function":262},{"id":259,"type":251,"label":252,"file":196,"line":253},{"id":300,"type":256,"label":257,"file":196,"line":253},"n3",{"id":302,"type":260,"label":261,"file":196,"line":242,"wp_function":262},"n4",{"id":304,"type":251,"label":272,"file":196,"line":273},"n5",{"id":306,"type":256,"label":257,"file":196,"line":273},"n6",{"id":308,"type":260,"label":261,"file":196,"line":242,"wp_function":262},"n7",{"id":310,"type":251,"label":284,"file":196,"line":285},"n8",{"id":312,"type":256,"label":257,"file":196,"line":285},"n9",{"id":314,"type":260,"label":261,"file":196,"line":242,"wp_function":262},"n10",[316,318,319,320,321,322,323],{"from":250,"to":255,"sanitized":317},true,{"from":259,"to":300,"sanitized":194},{"from":300,"to":302,"sanitized":194},{"from":304,"to":306,"sanitized":194},{"from":306,"to":308,"sanitized":194},{"from":310,"to":312,"sanitized":194},{"from":312,"to":314,"sanitized":194},3,{"summary":326,"deductions":327},"The \"assets-manager\" v1.0.2 plugin exhibits a concerning security posture primarily due to a large number of unprotected AJAX handlers. While the plugin demonstrates good practices in its handling of SQL queries, by exclusively using prepared statements, and has no recorded vulnerability history, the presence of five AJAX entry points without any authentication or capability checks presents a significant attack surface. The taint analysis revealed four flows with unsanitized paths, though these were not flagged as critical or high severity, suggesting potential for issues that might not be exploitable in all scenarios. The low percentage of properly escaped output (33%) further exacerbates the risk, as it increases the likelihood of cross-site scripting (XSS) vulnerabilities. The absence of nonce checks on these unprotected AJAX handlers is a critical oversight. In conclusion, despite some positive aspects like secure SQL usage and a clean vulnerability history, the plugin's security is severely compromised by its numerous unprotected entry points and potential for unsanitized data handling.",[328,330,333,335],{"reason":329,"points":173},"5 AJAX handlers without auth checks",{"reason":331,"points":332},"4 flows with unsanitized paths",8,{"reason":334,"points":34},"33% properly escaped output",{"reason":336,"points":212},"1 nonce check for 5 unprotected entry points","2026-03-16T21:29:59.314Z",{"wat":339,"direct":356},{"assetPaths":340,"generatorPatterns":347,"scriptPaths":348,"versionParams":349},[341,342,343,344,345,346],"\u002Fwp-content\u002Fplugins\u002Fassets-manager\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fassets-manager\u002Fcss\u002Fpublic.css","\u002Fwp-content\u002Fplugins\u002Fassets-manager\u002Fjs\u002Fadmin.js","\u002Fwp-content\u002Fplugins\u002Fassets-manager\u002Fjs\u002Fpublic.js","\u002Fwp-content\u002Fplugins\u002Fassets-manager\u002Fjs\u002Fvendor\u002Fplupload.full.min.js","\u002Fwp-content\u002Fplugins\u002Fassets-manager\u002Fjs\u002Fvendor\u002Fmoxie.js",[],[343,344,345,346],[350,351,352,353,354,355],"assets-manager\u002Fcss\u002Fadmin.css?ver=","assets-manager\u002Fcss\u002Fpublic.css?ver=","assets-manager\u002Fjs\u002Fadmin.js?ver=","assets-manager\u002Fjs\u002Fpublic.js?ver=","assets-manager\u002Fjs\u002Fvendor\u002Fplupload.full.min.js?ver=","assets-manager\u002Fjs\u002Fvendor\u002Fmoxie.js?ver=",{"cssClasses":357,"htmlComments":376,"htmlAttributes":377,"restEndpoints":400,"jsGlobals":401,"shortcodeOutput":403},[358,21,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375],"asset-button","asset","niceName","assetVal","fileExt","assetMeta","expires","timeLen","timeTerm","expired","baseDate","secureFile","enableFile","linkElem","assetLink","assetHits","corner","edit",[],[378,379,380,381,382,383,384,385,386,387,388,389,390,385,391,392,393,385,394,385,395,396,397,398,399],"id=\"asset_select_button\"","id=\"filelist\"","id=\"asset_attach_button\"","class=\"asset-button\"","style=\"display: none;\"","class=\"assets\"","class=\"asset\"","class=\"assetVal\"","class=\"fileExt\"","class=\"expires\"","class=\"timeLen\"","class=\"timeTerm\"","class=\"hidden\"","class=\"expired\"","class=\"baseDate\"","class=\"secureFile\"","class=\"enableFile\"","class=\"linkElem\"","class=\"assetLink\"","readonly=\"readonly\"","class=\"assetHits\"","class=\"edit corner\"",[],[402],"window.assets_manager_upload_handler",[]]