[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fXTm-srwzLpUyzEG__0JiXmpcRKbSyPxcECpizT4vGsQ":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":140,"fingerprints":461},"watermark-protect-images","Best Watermark – Protect images on your site with iLoveIMG","2.2.12","iLovePDF","https:\u002F\u002Fprofiles.wordpress.org\u002Filovepdf\u002F","\u003Cp>Protect your images from theft. Now you can get a powerful, easy to use, and reliable Watermark plugin for your image protection needs. With full automation and powerful features, iLoveIMG makes it easy to prevent unauthorized usage of your images by helping you create highly customized watermarks in just a few seconds.\u003C\u002Fp>\n\u003Cp>Create custom watermarks combining image and text and protect your images from being shared or featured without owner consent.\u003C\u002Fp>\n\u003Cp>Trust reliable developers. \u003Cstrong>Best Watermark – Protect images on your site with iLoveIMG\u003C\u002Fstrong> is brought to you by the same developers of iLoveIMG.com, popular image editor trusted by millions.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>If you are looking for the best watermarking tool, iLoveIMG plugin comes packed with plenty of features.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Text and image watermarks\u003C\u002Fstrong> – Place image or text watermarks anywhere on your photo.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Plenty of custom settings\u003C\u002Fstrong> – Adjust typography, font, size, transparency, and rotation to personalize watermark.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bulk protection\u003C\u002Fstrong> – Batch protect your images in a single click and save time for more important concerns. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Popular image formats supported\u003C\u002Fstrong> – Watermark JPG, PNG and GIF to ensure fast site navigation. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Extensive coverage\u003C\u002Fstrong> – Protect images already uploaded to Media Library.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Restore option\u003C\u002Fstrong> – Image backup is created before watermark is added. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Incredibly easy to use\u003C\u002Fstrong> – Designed with ease of use in mind.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Beyond the basics, iLoveIMG is a fully compatible and extendable image watermarking plugin.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Optimization option available\u003C\u002Fstrong> – Full Compatible with our Image Compressor plugin. Optimize your WordPress images and make your site load faster to boost search engine ranking.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Good for eCommerce\u003C\u002Fstrong> – Works great for eCommerce websites using WooCommerce, NextGen Gallery and other plugins for e-commerce. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Security first\u003C\u002Fstrong> – Your data is not stored nor collected on our services. We are GDPR compliant.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Frequent updates\u003C\u002Fstrong> – Get a stable and frequently updated image compression plugin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Freemium service\u003C\u002Fstrong> – Freely up to 2500 credits per month. Need more? Subscribe our Premium plan (https:\u002F\u002Filoveapi.com\u002Fpricing) or buy a prepaid package (https:\u002F\u002Filoveapi.com\u002Fpricing) to use at your convenience.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>With online images being shared and re-shared all over the Internet, it’s easy to lose track of the original author. iLoveIMG Watermark plugin helps you protect the rights of your online photos.\u003C\u002Fp>\n","Protect your site from image theft with our reliable and easy-to-use watermark plugin. Effective protection for your images.",10,12337,36,4,"2025-08-27T17:42:00.000Z","6.8.5","5.3","7.4",[20,21,22,23,24],"e-commerce","image-protection","photography","picture","watermark","https:\u002F\u002Filoveapi.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwatermark-protect-images.2.2.12.zip",100,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},"ilovepdf",3,710,71,88,"2026-04-04T16:50:39.408Z",[40,58,81,103,121],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":11,"downloaded":48,"rating":28,"num_ratings":28,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":52,"download_link":56,"security_score":57,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"ips-watermark","htaccess Watermark","0.1","ip4368","https:\u002F\u002Fprofiles.wordpress.org\u002Fip4368\u002F","\u003Cp>This plugin allows to add a watermark on the images uploaded.\u003C\u002Fp>\n\u003Cp>It make use of .htaccess, so all images that are uploaded or to be upload will all have the watermark. Your source images will not be affected, and after you delete\u002Fdeactivate your plugin, all watermark will disappear. This plugin also work with @2x images that use on retina display or high resolution screen devices.\u003C\u002Fp>\n\u003Cp>With this plugin, you may :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>change the size of the watermark proportion to the images width.\u003C\u002Fli>\n\u003Cli>change the opacity of the watermark, you are recommended to upload a png with solid color, as you may adjust the opacity after you upload.\u003C\u002Fli>\n\u003Cli>(soon)set the position of the watermark and the offset position.\u003C\u002Fli>\n\u003Cli>(soon)choose repetitive mode to display your watermark.\u003C\u002Fli>\n\u003Cli>(soon, but later)choose the path that images in that path will have watermark.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The watermark is only visible if you try to download\u002Fview the images from a web browser.\u003C\u002Fp>\n\u003Cp>You have to know that :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>you need to be able to create a htaccess file in your uploads directory.\u003C\u002Fli>\n\u003Cli>you need the GD library.\u003C\u002Fli>\n\u003Cli>works only with JPG\u002FJPEG\u002FPNG files.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Available languages in :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin allows to add a watermark on your images uploaded.",2253,"2014-06-01T08:10:00.000Z","3.9.40","3.0.1","",[54,55,22,23,24],"copyright","medias","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fips-watermark.0.1.zip",85,{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":68,"num_ratings":69,"last_updated":70,"tested_up_to":16,"requires_at_least":71,"requires_php":72,"tags":73,"homepage":52,"download_link":77,"security_score":78,"vuln_count":79,"unpatched_count":28,"last_vuln_date":80,"fetched_at":30},"easy-watermark","Easy Watermark","1.0.11","Wojtek Szałkiewicz","https:\u002F\u002Fprofiles.wordpress.org\u002Fszaleq\u002F","\u003Cp>Easy Watermark can automatically add watermark to images as they are uploaded to wordpress media library. You can also watermark existing images manually (all at once or an every single image). Watermark can be an image, text or both.\u003C\u002Fp>\n\u003Ch4>See the demo\u003C\u002Fh4>\n\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\u002FxM_0Y0oX4o0?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>\n\u003Ch4>Plugin features\u003C\u002Fh4>\n\u003Cp>On one image you can have two watermarks! One of them can be text watermark and the other image watermark. You can control their position and size and apply them to your media independently.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Image watermark can be a JPG, PNG or GIF\u003C\u002Fli>\n\u003Cli>Full support for transparency and alpha chanel in PNG and GIF files\u003C\u002Fli>\n\u003Cli>JPG and GIF files and text can have opacity set (from 0 to 100%)\u003C\u002Fli>\n\u003Cli>Text watermark is created using ttf fonts\u003C\u002Fli>\n\u003Cli>Text color, size and rotation can be set\u003C\u002Fli>\n\u003Cli>All built-in image sizes can be watermarked (thumbnail, medium, large and fullsize) as well as all additional sizes registered by themes or plugins\u003C\u002Fli>\n\u003Cli>Plugin can create image backups and allows to easily restore images\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Image watermark\u003C\u002Fh4>\n\u003Cp>Easy Watermark supports three most popular image formats for watermark: JPG, PNG and GIF. For JPG watermarks you can control the opacity as well.\u003C\u002Fp>\n\u003Cp>Watermark can be applied in on of the 9 positions on the image and you can controll the exact sizing of it.\u003C\u002Fp>\n\u003Ch4>Text watermark\u003C\u002Fh4>\n\u003Cp>Text watermark have a powerful feature of placeholders, which can be dynamically applied to the image. Ie. you can put the name of user who uploaded the image as well as the upload date. Watermark text will be automatically generated and applied.\u003C\u002Fp>\n\u003Cp>The plugin supports a few fonts:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Arial\u003C\u002Fli>\n\u003Cli>Arial Black\u003C\u002Fli>\n\u003Cli>Comic Sans MS\u003C\u002Fli>\n\u003Cli>Courier New\u003C\u002Fli>\n\u003Cli>Georgia\u003C\u002Fli>\n\u003Cli>Impact\u003C\u002Fli>\n\u003Cli>Tahoma\u003C\u002Fli>\n\u003Cli>Times New Roman\u003C\u002Fli>\n\u003Cli>Trebuchet MS\u003C\u002Fli>\n\u003Cli>Verdana\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can also place the text watermark in one of the 9 positions on the image, control the angle, color, opacity and size.\u003C\u002Fp>\n\u003Ch4>Custom development\u003C\u002Fh4>\n\u003Cp>BracketSpace – the company behind this plugin provides \u003Ca href=\"https:\u002F\u002Fbracketspace.com\u002Fcustom-development\u002F\" rel=\"nofollow ugc\">custom WordPress plugin development services\u003C\u002Fa>. We can create any custom plugin for you.\u003C\u002Fp>\n","Allows to add watermark to images automatically on upload or manually.",40000,667593,74,157,"2025-08-25T11:16:00.000Z","4.6","5.6",[74,75,76,23,24],"image","media","photo","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-watermark.1.0.11.zip",99,1,"2019-02-25 00:00:00",{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":89,"downloaded":90,"rating":68,"num_ratings":91,"last_updated":92,"tested_up_to":93,"requires_at_least":94,"requires_php":95,"tags":96,"homepage":101,"download_link":102,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"product-watermark-for-woocommerce","Product Watermark for WooCommerce","1.3.9.2","BeRocket","https:\u002F\u002Fprofiles.wordpress.org\u002Fberocket\u002F","\u003Cp>Product Watermark for WooCommerce plugin allows you to add watermark to images that applied to products. These watermarks can be an image copyright symbol, company logo or text. You will need few clicks to apply a logo or a watermark on all your product images.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cp>✅ Watermark for product images\u003Cbr \u002F>\n✅ Custom watermark position\u003Cbr \u002F>\n✅ Watermarks with transparency is supported\u003Cbr \u002F>\n✅ Custom CSS for front end pages\u003C\u002Fp>\n\u003Ch4>Additional Features in Paid Plugin:\u003C\u002Fh4>\n\u003Cp>✅ Custom watermark size\u003Cbr \u002F>\n✅ Different watermarks for different image type\u003Cbr \u002F>\n✅ Save aspect ratio for watermarks\u003Cbr \u002F>\n✅ From 1 to 5 watermarks\u003Cbr \u002F>\n✅ Place text to images\u003Cbr \u002F>\n✅ Options to set text color, size and transparency\u003C\u002Fp>\n\u003Ch4>Plugin Links:\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fberocket.com\u002Fwoocommerce-products-image-watermark\u002F?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=image_watermark\" rel=\"nofollow ugc\">Paid Plugin\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwoocommerce-currency-exchange.berocket.com\u002Fshop\u002F?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=image_watermark\" rel=\"nofollow ugc\">Demo\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fdocs.berocket.com\u002Fplugin\u002Fwoocommerce-products-image-watermark?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=image_watermark\" rel=\"nofollow ugc\">Docs\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>🍬 Wanna try admin side?\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fberocket.com\u002Fwoocommerce-products-image-watermark\u002F?utm_source=wordpress_org&utm_medium=admin_demo&utm_campaign=image_watermark#try-admin\" rel=\"nofollow ugc\">Admin Demo\u003C\u002Fa> – Get access to this plugin’s admin and try it from inside. Change things and watch how they work.\u003C\u002Fp>\n\u003Ch4>Premium plugin video\u003C\u002Fh4>\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\u002FSrIhU35n0P0?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>\u003Cbr \u002F>\n\u003Cem>we don’t have video with free plugin right now but we are working on it\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>Compatibility with WooCommerce plugins\u003C\u002Fh4>\n\u003Cp>Product Watermark for WooCommerce has been tested and compatibility is certain with the following WooCommerce plugins that you can add to your site:\u003C\u002Fp>\n\u003Cp>🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce-ajax-filters\u002F\" rel=\"ugc\">\u003Cstrong>Advanced AJAX Product Filters\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fload-more-products-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Load More Products for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgridlist-view-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Grid\u002FList View for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-preview-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Product Preview for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproducts-compare-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Products Compare for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsales-report-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Sales Report for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwish-wait-list-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Wishlist and Waitlist for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n","Allows you to add watermark to images that applied to products",2000,94936,55,"2025-12-10T16:01:00.000Z","6.9.4","5.0","7.0",[97,98,99,100,24],"photo-watermark","picture-watermark","product-image","product-watermark","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-watermark-for-woocommerce\u002F?utm_source=free_plugin&utm_medium=plugins&utm_campaign=image_watermark","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fproduct-watermark-for-woocommerce.1.3.9.2.zip",{"slug":104,"name":105,"version":106,"author":107,"author_profile":108,"description":109,"short_description":110,"active_installs":111,"downloaded":112,"rating":113,"num_ratings":114,"last_updated":115,"tested_up_to":93,"requires_at_least":94,"requires_php":18,"tags":116,"homepage":118,"download_link":119,"security_score":78,"vuln_count":79,"unpatched_count":28,"last_vuln_date":120,"fetched_at":30},"ultimate-watermark","Ultimate Watermark – Protect Images with Professional Watermarks","2.0.4","MantraBrain","https:\u002F\u002Fprofiles.wordpress.org\u002Fmantrabrain\u002F","\u003Cp>\u003Cstrong>Ultimate Watermark\u003C\u002Fstrong> is the complete WordPress image protection solution trusted by photographers, e-commerce stores, and content creators worldwide. Automatically add professional watermarks to protect your images from unauthorized use while maintaining complete control over positioning, opacity, and appearance.\u003C\u002Fp>\n\u003Ch4>🚀 Why Choose Ultimate Watermark?\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Protect Your Visual Content\u003C\u002Fstrong> – Whether you’re a professional photographer protecting your portfolio, an online store branding product images, or a blogger safeguarding your content, Ultimate Watermark provides enterprise-level protection with an easy-to-use interface.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Automatic & Effortless\u003C\u002Fstrong> – Watermarks are applied automatically as images are uploaded to your WordPress media library. No manual work required – just upload and your images are instantly protected.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Non-Destructive with Backups\u003C\u002Fstrong> – Original images are safely backed up before watermarking, allowing you to remove watermarks and restore originals anytime without quality loss.\u003C\u002Fp>\n\u003Ch4>🔗 Important Links\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmantrabrain.com\u002Fplugins\u002Fultimate-watermark#pricing\" rel=\"nofollow ugc\">Try Pro Version\u003C\u002Fa>\u003C\u002Fstrong> – Upgrade to unlock unlimited watermarks and advanced features\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmantrabrain.com\u002Fplugins\u002Fultimate-watermark\" rel=\"nofollow ugc\">Plugin Homepage\u003C\u002Fa>\u003C\u002Fstrong> – Official landing page with features and demos\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fultimate-watermark\u002F\" rel=\"ugc\">Get Support\u003C\u002Fa>\u003C\u002Fstrong> – Free community support forum\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmantrabrain.com\u002Fcontact\" rel=\"nofollow ugc\">Feature Requests\u003C\u002Fa>\u003C\u002Fstrong> – Suggest new features and improvements\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>📺 Video Walkthrough\u003C\u002Fh4>\n\u003Cp>Watch this quick video tutorial to see Ultimate Watermark in action and learn how to protect your images in minutes:\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\u002F6QcDWgtaJRU?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\u003Ch4>⭐ Key Features (Free Version)\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>🖼️ Flexible Watermark Types\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Image Watermarks\u003C\u002Fstrong> – Upload your logo, signature, or custom watermark image\u003Cbr \u002F>\n* \u003Cstrong>Text Watermarks\u003C\u002Fstrong> – Add copyright text, website URL, or custom messages\u003Cbr \u002F>\n* \u003Cstrong>Unlimited Combinations\u003C\u002Fstrong> – Mix and match watermark styles for different purposes\u003Cbr \u002F>\n* \u003Cstrong>PNG Transparency Support\u003C\u002Fstrong> – Professional watermarks with transparent backgrounds\u003C\u002Fp>\n\u003Cp>\u003Cstrong>⚙️ Advanced Watermark Control\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Automatic Application\u003C\u002Fstrong> – Watermarks applied instantly on image upload\u003Cbr \u002F>\n* \u003Cstrong>Manual Watermarking\u003C\u002Fstrong> – Bulk watermark existing images in media library\u003Cbr \u002F>\n* \u003Cstrong>Size Control\u003C\u002Fstrong> – Original size, custom dimensions (pixels), or scaled percentage (1-100%)\u003Cbr \u002F>\n* \u003Cstrong>Opacity Adjustment\u003C\u002Fstrong> – Control transparency from 0% (invisible) to 100% (opaque)\u003Cbr \u002F>\n* \u003Cstrong>Quality Optimization\u003C\u002Fstrong> – Set output quality (1-100%) for optimal file sizes\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📍 Precise Positioning\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>9-Position Grid\u003C\u002Fstrong> – Top\u002FMiddle\u002FBottom × Left\u002FCenter\u002FRight alignment\u003Cbr \u002F>\n* \u003Cstrong>Pixel-Perfect Offsets\u003C\u002Fstrong> – X and Y positioning with pixel or percentage units\u003Cbr \u002F>\n* \u003Cstrong>Preview System\u003C\u002Fstrong> – Real-time preview before applying watermarks\u003Cbr \u002F>\n* \u003Cstrong>Consistent Branding\u003C\u002Fstrong> – Same positioning across all watermarked images\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎯 Smart Targeting\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Image Size Selection\u003C\u002Fstrong> – Watermark specific sizes (thumbnail, medium, large, full)\u003Cbr \u002F>\n* \u003Cstrong>Post Type Filtering\u003C\u002Fstrong> – Apply watermarks only to selected post types\u003Cbr \u002F>\n* \u003Cstrong>Conditional Rules\u003C\u002Fstrong> – Create rules for when watermarks should be applied\u003Cbr \u002F>\n* \u003Cstrong>Custom Image Sizes\u003C\u002Fstrong> – Support for theme and plugin custom image sizes\u003C\u002Fp>\n\u003Cp>\u003Cstrong>💾 Backup & Recovery\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Automatic Backups\u003C\u002Fstrong> – Original images backed up before watermarking\u003Cbr \u002F>\n* \u003Cstrong>Safe Removal\u003C\u002Fstrong> – Restore original images by removing watermarks\u003Cbr \u002F>\n* \u003Cstrong>Configurable Quality\u003C\u002Fstrong> – Set backup image quality to balance storage and preservation\u003Cbr \u002F>\n* \u003Cstrong>Bulk Operations\u003C\u002Fstrong> – Remove watermarks from multiple images at once\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🛡️ Image Protection\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Right-Click Disable\u003C\u002Fstrong> – Prevent image downloading via right-click\u003Cbr \u002F>\n* \u003Cstrong>Drag & Drop Prevention\u003C\u002Fstrong> – Stop users from dragging images to desktop\u003Cbr \u002F>\n* \u003Cstrong>User-Level Controls\u003C\u002Fstrong> – Optional protection settings for logged-in users\u003Cbr \u002F>\n* \u003Cstrong>Multi-Layer Security\u003C\u002Fstrong> – Combine watermarks with protection features\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🔧 Technical Excellence\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Dual Library Support\u003C\u002Fstrong> – Works with GD and ImageMagick for maximum compatibility\u003Cbr \u002F>\n* \u003Cstrong>WordPress 6.8 Ready\u003C\u002Fstrong> – Fully tested with latest WordPress version\u003Cbr \u002F>\n* \u003Cstrong>PHP 8.4 Compatible\u003C\u002Fstrong> – Modern PHP support with no deprecation warnings\u003Cbr \u002F>\n* \u003Cstrong>Metadata Preservation\u003C\u002Fstrong> – Maintains EXIF and IPTC data\u003Cbr \u002F>\n* \u003Cstrong>Memory Optimized\u003C\u002Fstrong> – Efficient processing for large image libraries\u003Cbr \u002F>\n* \u003Cstrong>REST API Integration\u003C\u002Fstrong> – Programmatic watermarking support\u003C\u002Fp>\n\u003Ch4>🎨 Perfect For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Photographers\u003C\u002Fstrong> – Protect portfolio images and client work\u003C\u002Fli>\n\u003Cli>\u003Cstrong>E-commerce Stores\u003C\u002Fstrong> – Brand product images and prevent theft\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bloggers & Content Creators\u003C\u002Fstrong> – Safeguard visual content\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Digital Artists\u003C\u002Fstrong> – Add copyright protection to artwork\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Corporate Websites\u003C\u002Fstrong> – Maintain brand consistency across images\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Media Publishers\u003C\u002Fstrong> – Protect editorial and news images\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Online Portfolios\u003C\u002Fstrong> – Showcase work while preventing unauthorized use\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🚀 Quick Start Guide\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Install & Activate\u003C\u002Fstrong> the plugin from WordPress admin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Navigate to\u003C\u002Fstrong> Ultimate Watermark \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Add New Watermark\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Create Watermark\u003C\u002Fstrong> – Upload image or add text watermark\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configure Position\u003C\u002Fstrong> – Choose alignment and offset\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enable Automatic\u003C\u002Fstrong> – Turn on automatic watermarking\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Upload Images\u003C\u002Fstrong> – New uploads are automatically watermarked!\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>💎 Pro Features – Upgrade for Advanced Capabilities\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmantrabrain.com\u002Fplugins\u002Fultimate-watermark#pricing\" rel=\"nofollow ugc\">Upgrade to Ultimate Watermark Pro\u003C\u002Fa>\u003C\u002Fstrong> for powerful features:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎯 Unlimited Watermarks\u003C\u002Fstrong>\u003Cbr \u002F>\n* Create unlimited watermark templates (Free: 1 watermark limit)\u003Cbr \u002F>\n* Different watermarks for different purposes\u003Cbr \u002F>\n* A\u002FB test watermark effectiveness\u003Cbr \u002F>\n* Seasonal and campaign-specific watermarks\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📝 Dynamic Content Placeholders\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>EXIF Data\u003C\u002Fstrong> – Camera model, lens, ISO, aperture, shutter speed\u003Cbr \u002F>\n* \u003Cstrong>Date & Time\u003C\u002Fstrong> – Upload date, current date, custom formats\u003Cbr \u002F>\n* \u003Cstrong>User Information\u003C\u002Fstrong> – Author name, username, user ID\u003Cbr \u002F>\n* \u003Cstrong>Post Data\u003C\u002Fstrong> – Post title, category, tags, custom fields\u003Cbr \u002F>\n* \u003Cstrong>Site Information\u003C\u002Fstrong> – Site name, URL, tagline\u003Cbr \u002F>\n* \u003Cstrong>Custom Variables\u003C\u002Fstrong> – Create your own dynamic placeholders\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🛒 WooCommerce Integration\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Per-Product Watermarks\u003C\u002Fstrong> – Different watermarks for different products\u003Cbr \u002F>\n* \u003Cstrong>Category-Based Watermarks\u003C\u002Fstrong> – Auto-apply based on product category\u003Cbr \u002F>\n* \u003Cstrong>Bulk Operations\u003C\u002Fstrong> – Watermark all product images at once\u003Cbr \u002F>\n* \u003Cstrong>Priority Cascade\u003C\u002Fstrong> – Product \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Category \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Default watermark logic\u003Cbr \u002F>\n* \u003Cstrong>Variation Support\u003C\u002Fstrong> – Watermark product variation images\u003C\u002Fp>\n\u003Cp>\u003Cstrong>👁️ On-the-Fly Display\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Non-Destructive\u003C\u002Fstrong> – Show watermarks without modifying originals\u003Cbr \u002F>\n* \u003Cstrong>Role-Based Bypass\u003C\u002Fstrong> – Hide watermarks for admins\u002Flogged-in users\u003Cbr \u002F>\n* \u003Cstrong>Performance Optimized\u003C\u002Fstrong> – Cached watermark generation\u003Cbr \u002F>\n* \u003Cstrong>Selective Display\u003C\u002Fstrong> – Choose where watermarks appear (frontend\u002Fbackend)\u003Cbr \u002F>\n* \u003Cstrong>Dynamic Switching\u003C\u002Fstrong> – Different watermarks for different contexts\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎯 Advanced Features\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Frontend Watermarking\u003C\u002Fstrong> – Watermark user-uploaded images\u003Cbr \u002F>\n* \u003Cstrong>Conditional Logic\u003C\u002Fstrong> – Complex rules for watermark application\u003Cbr \u002F>\n* \u003Cstrong>Batch Processing\u003C\u002Fstrong> – Schedule large watermarking jobs\u003Cbr \u002F>\n* \u003Cstrong>API Access\u003C\u002Fstrong> – Programmatic watermark control\u003Cbr \u002F>\n* \u003Cstrong>Custom Hooks\u003C\u002Fstrong> – Extend functionality with WordPress filters\u002Factions\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🆘 Priority Support\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Fast Response Times\u003C\u002Fstrong> – Get help when you need it\u003Cbr \u002F>\n* \u003Cstrong>Email Support\u003C\u002Fstrong> – Direct access to our expert team\u003Cbr \u002F>\n* \u003Cstrong>Automatic Updates\u003C\u002Fstrong> – Stay current with latest features\u003Cbr \u002F>\n* \u003Cstrong>Documentation Access\u003C\u002Fstrong> – Comprehensive guides and tutorials\u003Cbr \u002F>\n* \u003Cstrong>14-Day Money-Back Guarantee\u003C\u002Fstrong> – Risk-free purchase\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmantrabrain.com\u002Fplugins\u002Fultimate-watermark#pricing\" rel=\"nofollow ugc\">Get Pro Now \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan>\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>🌐 Links & Resources\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmantrabrain.com\u002Fplugins\u002Fultimate-watermark\" rel=\"nofollow ugc\">Official Website\u003C\u002Fa>\u003C\u002Fstrong> – Plugin homepage\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmantrabrain.com\u002Fdocs\u002Fultimate-watermark\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fstrong> – Complete guides\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fultimate-watermark\u002F\" rel=\"ugc\">Support Forum\u003C\u002Fa>\u003C\u002Fstrong> – Free community support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmantrabrain.com\u002Fplugins\u002Fultimate-watermark#pricing\" rel=\"nofollow ugc\">Pro Version\u003C\u002Fa>\u003C\u002Fstrong> – Upgrade to Pro\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmantrabrain.com\u002Fplugins\u002Fultimate-watermark\u002Fchangelog\" rel=\"nofollow ugc\">Changelog\u003C\u002Fa>\u003C\u002Fstrong> – Version history\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmantrabrain.com\u002Fsupport\" rel=\"nofollow ugc\">Feature Requests\u003C\u002Fa>\u003C\u002Fstrong> – Suggest new features\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🔧 System Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher (PHP 8.4 supported)\u003C\u002Fli>\n\u003Cli>GD Library OR ImageMagick extension\u003C\u002Fli>\n\u003Cli>Sufficient server memory for image processing (256MB+ recommended)\u003C\u002Fli>\n\u003Cli>Write permissions for WordPress uploads directory\u003C\u002Fli>\n\u003C\u002Ful>\n","Automatically protect your images with professional watermarks. Add text or image watermarks to WordPress media uploads with advanced positioning and  &hellip;",1000,23822,66,11,"2026-02-26T05:52:00.000Z",[117,54,21,97,24],"bulk-watermark","https:\u002F\u002Fmantrabrain.com\u002Fultimate-watermark","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fultimate-watermark.2.0.4.zip","2025-09-22 00:00:00",{"slug":122,"name":123,"version":124,"author":125,"author_profile":126,"description":127,"short_description":128,"active_installs":129,"downloaded":130,"rating":131,"num_ratings":114,"last_updated":132,"tested_up_to":93,"requires_at_least":133,"requires_php":17,"tags":134,"homepage":52,"download_link":138,"security_score":78,"vuln_count":79,"unpatched_count":28,"last_vuln_date":139,"fetched_at":30},"watermark-reloaded","Watermark RELOADED","1.4.0","sverde1","https:\u002F\u002Fprofiles.wordpress.org\u002Fsverde1\u002F","\u003Cp>\u003Cstrong>Watermark RELOADED\u003C\u002Fstrong> is a lightweight WordPress image watermark plugin that automatically adds a customizable text watermark to images when you upload them to your Media Library.\u003C\u002Fp>\n\u003Cp>Use it to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Protect your work from \u003Cstrong>unauthorized reuse\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Brand images with your \u003Cstrong>site name\u003C\u002Fstrong>, \u003Cstrong>URL\u003C\u002Fstrong>, or \u003Cstrong>copyright notice\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Keep control of your visual content with a simple, set-and-forget solution\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Choose which image sizes to watermark: \u003Cstrong>thumbnail\u003C\u002Fstrong>, \u003Cstrong>medium\u003C\u002Fstrong>, \u003Cstrong>large\u003C\u002Fstrong>, \u003Cstrong>full size\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Customize text watermark \u003Cstrong>font\u003C\u002Fstrong> and \u003Cstrong>color\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Precisely control watermark \u003Cstrong>position\u003C\u002Fstrong> (corners, edges or centered) on the image\u003C\u002Fli>\n\u003Cli>Preview your watermark before saving settings so you know exactly how it will look\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin adds:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A dedicated \u003Cstrong>Watermark RELOADED settings page\u003C\u002Fstrong> where you configure your watermark and see a live preview\u003C\u002Fli>\n\u003Cli>A \u003Cstrong>WordPress Dashboard widget\u003C\u002Fstrong> that shows your current watermark settings and a preview of the watermark directly on the main Dashboard screen\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatic watermark on upload\u003C\u002Fstrong> – newly uploaded images are watermarked immediately\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Text watermarking\u003C\u002Fstrong> – add copyright text, site name or any custom message\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom fonts\u003C\u002Fstrong> – upload your own TTF fonts to use for the watermark\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Color picker integration\u003C\u002Fstrong> – choose any text color for your watermark\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-size control\u003C\u002Fstrong> – enable watermarking only on selected image sizes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Live settings preview\u003C\u002Fstrong> – see how your watermark text, color and position look in the plugin settings before they are applied to new uploads\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dashboard widget\u003C\u002Fstrong> – quickly review enabled sizes, position, offset and a preview from the WordPress Dashboard\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Simple, focused UI\u003C\u002Fstrong> – no unnecessary settings, just what you need to protect your images\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How it works\u003C\u002Fh3>\n\u003Col>\n\u003Cli>You configure your watermark text, font, color, and position in \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Watermark Reloaded\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>You choose which image sizes should receive the watermark.\u003C\u002Fli>\n\u003Cli>When you upload a new image through the \u003Cstrong>Media Library\u003C\u002Fstrong> or post editor, Watermark RELOADED automatically applies the text watermark to the selected sizes.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Existing images in your Media Library are \u003Cstrong>not modified\u003C\u002Fstrong> – only new uploads are processed.\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cp>To generate watermarks, your server must support:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>PHP 5.3+\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GD extension for PHP\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>FreeType Library\u003C\u002Fstrong> (for rendering text)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If any of these are missing, the plugin will show an error message so you can contact your hosting provider.\u003C\u002Fp>\n\u003Ch3>Planned improvements\u003C\u002Fh3>\n\u003Cp>The following ideas are on the to-do list and may be implemented in future updates:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Additional bug fixes and compatibility adjustments\u003C\u002Fli>\n\u003Cli>Smarter handling of small images where the watermark might overflow\u003C\u002Fli>\n\u003Cli>Support for watermarking additional custom image sizes added by other plugins\u002Fthemes\u003C\u002Fli>\n\u003Cli>Image-size aware watermarks and more flexible positioning options\u003C\u002Fli>\n\u003C\u002Ful>\n","Automatically add customizable text watermarks to new images on upload to protect your WordPress media library.",800,169517,56,"2025-12-02T10:04:00.000Z","3.5",[135,21,136,137,24],"copyright-protection","image-watermark","text-watermark","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwatermark-reloaded.1.4.0.zip","2024-02-26 00:00:00",{"attackSurface":141,"codeSignals":225,"taintFlows":361,"riskAssessment":447,"analyzedAt":460},{"hooks":142,"ajaxHandlers":199,"restRoutes":221,"shortcodes":222,"cronEvents":223,"entryPointCount":224,"unprotectedCount":34},[143,148,152,157,161,165,168,172,176,179,183,188,194],{"type":144,"name":145,"callback":145,"file":146,"line":147},"action","admin_init","admin\\Ilove_Img_Wm_Plugin.php",60,{"type":144,"name":149,"callback":150,"file":146,"line":151},"admin_enqueue_scripts","enqueue_scripts",75,{"type":153,"name":154,"callback":155,"file":146,"line":156},"filter","manage_media_columns","column_id",76,{"type":153,"name":158,"callback":159,"priority":11,"file":146,"line":160},"manage_media_custom_column","column_id_row",77,{"type":153,"name":162,"callback":163,"priority":11,"file":146,"line":164},"wp_generate_attachment_metadata","process_attachment",84,{"type":153,"name":166,"callback":167,"file":146,"line":57},"bulk_actions-upload","add_bulk_watermark_action",{"type":153,"name":169,"callback":170,"priority":11,"file":146,"line":171},"handle_bulk_actions-upload","handle_bulk_watermark_action",86,{"type":153,"name":173,"callback":174,"file":146,"line":175},"query_vars","add_iloveimgwm_custom_query_vars",87,{"type":144,"name":177,"callback":178,"file":146,"line":37},"attachment_submitbox_misc_actions","show_media_info",{"type":144,"name":180,"callback":181,"file":146,"line":182},"admin_notices","show_notices",91,{"type":144,"name":184,"callback":185,"file":186,"line":187},"admin_post_update_watermark","save","admin\\Ilove_Img_Wm_Serializer.php",22,{"type":144,"name":189,"callback":190,"priority":191,"file":192,"line":193},"admin_menu","add_options_page",999,"admin\\Ilove_Img_Wm_Submenu.php",35,{"type":144,"name":195,"callback":196,"file":197,"line":198},"plugins_loaded","ilove_img_wm_custom_admin_settings","ilove-img-watermark.php",68,[200,205,208,212,215,218],{"action":201,"nopriv":202,"callback":201,"hasNonce":203,"hasCapCheck":202,"file":146,"line":204},"ilove_img_wm_library",false,true,78,{"action":206,"nopriv":202,"callback":206,"hasNonce":202,"hasCapCheck":202,"file":146,"line":207},"ilove_img_wm_restore_all",79,{"action":209,"nopriv":202,"callback":210,"hasNonce":203,"hasCapCheck":202,"file":146,"line":211},"ilove_img_wm_restore","ilove_img_restore",80,{"action":213,"nopriv":202,"callback":213,"hasNonce":202,"hasCapCheck":202,"file":146,"line":214},"ilove_img_wm_clear_backup",81,{"action":216,"nopriv":202,"callback":216,"hasNonce":203,"hasCapCheck":202,"file":146,"line":217},"ilove_img_wm_library_is_watermarked",82,{"action":219,"nopriv":202,"callback":219,"hasNonce":202,"hasCapCheck":202,"file":146,"line":220},"ilove_img_wm_library_set_watermark_image",83,[],[],[],6,{"dangerousFunctions":226,"sqlUsage":231,"outputEscaping":247,"fileOperations":232,"externalRequests":224,"nonceChecks":232,"capabilityChecks":79,"bundledLibraries":357},[227],{"fn":228,"file":197,"line":229,"context":230},"unserialize",135,"$old_data_serialize = unserialize( get_option( 'iloveimg_options_watermark' ) ); \u002F\u002F phpcs:ignore Wor",{"prepared":28,"raw":232,"locations":233},5,[234,238,241,242,245],{"file":235,"line":236,"context":237},"admin\\Ilove_Img_Wm_Media_List_Table.php",217,"$wpdb->get_results() with variable interpolation",{"file":239,"line":160,"context":240},"admin\\Ilove_Img_Wm_Process.php","$wpdb->get_var() with variable interpolation",{"file":239,"line":207,"context":240},{"file":243,"line":244,"context":240},"admin\\Ilove_Img_Wm_Resources.php",429,{"file":243,"line":246,"context":237},466,{"escaped":248,"rawEcho":131,"locations":249},132,[250,253,255,257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,286,287,288,290,292,294,296,298,300,302,304,306,308,310,313,315,318,319,320,321,322,324,326,328,330,332,334,336,338,339,341,343,345,347,349,351,353,355],{"file":146,"line":251,"context":252},364,"raw output",{"file":146,"line":254,"context":252},410,{"file":146,"line":256,"context":252},510,{"file":243,"line":258,"context":252},326,{"file":243,"line":260,"context":252},327,{"file":243,"line":262,"context":252},338,{"file":243,"line":264,"context":252},340,{"file":243,"line":266,"context":252},343,{"file":243,"line":268,"context":252},395,{"file":243,"line":270,"context":252},401,{"file":243,"line":272,"context":252},407,{"file":243,"line":274,"context":252},508,{"file":243,"line":276,"context":252},514,{"file":243,"line":278,"context":252},519,{"file":243,"line":280,"context":252},524,{"file":282,"line":147,"context":252},"admin\\views\\account.php",{"file":282,"line":284,"context":252},65,{"file":282,"line":198,"context":252},{"file":282,"line":36,"context":252},{"file":282,"line":214,"context":252},{"file":282,"line":289,"context":252},92,{"file":282,"line":291,"context":252},95,{"file":282,"line":293,"context":252},98,{"file":282,"line":295,"context":252},101,{"file":282,"line":297,"context":252},109,{"file":282,"line":299,"context":252},120,{"file":282,"line":301,"context":252},140,{"file":282,"line":303,"context":252},162,{"file":282,"line":305,"context":252},218,{"file":282,"line":307,"context":252},227,{"file":282,"line":309,"context":252},252,{"file":311,"line":312,"context":252},"admin\\views\\media-bulk.php",15,{"file":314,"line":232,"context":252},"admin\\views\\overview.php",{"file":316,"line":317,"context":252},"admin\\views\\watermark.php",42,{"file":316,"line":91,"context":252},{"file":316,"line":198,"context":252},{"file":316,"line":156,"context":252},{"file":316,"line":291,"context":252},{"file":316,"line":323,"context":252},108,{"file":316,"line":325,"context":252},112,{"file":316,"line":327,"context":252},174,{"file":316,"line":329,"context":252},181,{"file":316,"line":331,"context":252},185,{"file":316,"line":333,"context":252},188,{"file":316,"line":335,"context":252},190,{"file":316,"line":337,"context":252},196,{"file":316,"line":236,"context":252},{"file":316,"line":340,"context":252},223,{"file":316,"line":342,"context":252},225,{"file":316,"line":344,"context":252},238,{"file":316,"line":346,"context":252},249,{"file":316,"line":348,"context":252},285,{"file":316,"line":350,"context":252},305,{"file":316,"line":352,"context":252},332,{"file":316,"line":354,"context":252},336,{"file":316,"line":356,"context":252},357,[358],{"name":359,"version":29,"knownCves":360},"Guzzle",[],[362,381,394,402,428],{"entryPoint":363,"graph":364,"unsanitizedCount":379,"severity":380},"async_watermark (admin\\Ilove_Img_Wm_Plugin.php:309)",{"nodes":365,"edges":377},[366,371],{"id":367,"type":368,"label":369,"file":146,"line":370},"n0","source","$_COOKIE (x2)",319,{"id":372,"type":373,"label":374,"file":146,"line":375,"wp_function":376},"n1","sink","wp_remote_post() [SSRF]",324,"wp_remote_post",[378],{"from":367,"to":372,"sanitized":202},2,"medium",{"entryPoint":382,"graph":383,"unsanitizedCount":79,"severity":393},"prepare_items (admin\\Ilove_Img_Wm_Media_List_Table.php:165)",{"nodes":384,"edges":391},[385,388],{"id":367,"type":368,"label":386,"file":235,"line":387},"$_GET",213,{"id":372,"type":373,"label":389,"file":235,"line":236,"wp_function":390},"get_results() [SQLi]","get_results",[392],{"from":367,"to":372,"sanitized":202},"high",{"entryPoint":395,"graph":396,"unsanitizedCount":79,"severity":393},"\u003CIlove_Img_Wm_Media_List_Table> (admin\\Ilove_Img_Wm_Media_List_Table.php:0)",{"nodes":397,"edges":400},[398,399],{"id":367,"type":368,"label":386,"file":235,"line":387},{"id":372,"type":373,"label":389,"file":235,"line":236,"wp_function":390},[401],{"from":367,"to":372,"sanitized":202},{"entryPoint":403,"graph":404,"unsanitizedCount":79,"severity":393},"ilove_img_wm_library (admin\\Ilove_Img_Wm_Plugin.php:139)",{"nodes":405,"edges":424},[406,409,413,416,420],{"id":367,"type":368,"label":407,"file":146,"line":408},"$_POST",142,{"id":372,"type":373,"label":410,"file":146,"line":411,"wp_function":412},"echo() [XSS]",149,"echo",{"id":414,"type":368,"label":407,"file":146,"line":415},"n2",143,{"id":417,"type":418,"label":419,"file":146,"line":415},"n3","transform","→ watermark()",{"id":421,"type":373,"label":422,"file":239,"line":207,"wp_function":423},"n4","get_var() [SQLi]","get_var",[425,426,427],{"from":367,"to":372,"sanitized":203},{"from":414,"to":417,"sanitized":202},{"from":417,"to":421,"sanitized":202},{"entryPoint":429,"graph":430,"unsanitizedCount":79,"severity":393},"\u003CIlove_Img_Wm_Plugin> (admin\\Ilove_Img_Wm_Plugin.php:0)",{"nodes":431,"edges":442},[432,434,435,436,437,438,440],{"id":367,"type":368,"label":433,"file":146,"line":408},"$_POST (x3)",{"id":372,"type":373,"label":410,"file":146,"line":411,"wp_function":412},{"id":414,"type":368,"label":369,"file":146,"line":370},{"id":417,"type":373,"label":374,"file":146,"line":375,"wp_function":376},{"id":421,"type":368,"label":407,"file":146,"line":415},{"id":439,"type":418,"label":419,"file":146,"line":415},"n5",{"id":441,"type":373,"label":422,"file":239,"line":207,"wp_function":423},"n6",[443,444,445,446],{"from":367,"to":372,"sanitized":203},{"from":414,"to":417,"sanitized":203},{"from":421,"to":439,"sanitized":202},{"from":439,"to":441,"sanitized":202},{"summary":448,"deductions":449},"The \"watermark-protect-images\" plugin v2.2.12 exhibits several concerning security practices, primarily related to its handling of data and potential attack vectors. The presence of unsanitized paths in 5 taint flows, with 4 classified as high severity, is a significant red flag. This indicates that user-supplied input could be manipulated to access or modify files in unintended locations, posing a serious risk of unauthorized access or data corruption. Additionally, the plugin uses the dangerous `unserialize` function, which, when combined with untrusted input, can lead to remote code execution vulnerabilities.  The plugin's attack surface is moderately sized, with 6 AJAX handlers, and critically, 3 of these lack authentication checks. This means any unauthenticated user could potentially trigger these handlers, further exacerbating the risks associated with unsanitized input. While the plugin has no recorded vulnerability history, this does not guarantee its current safety. The identified code signals point to a need for more robust security implementations, particularly regarding input validation and data sanitization.",[450,452,454,456,458],{"reason":451,"points":312},"High severity unsanitized taint flows",{"reason":453,"points":11},"AJAX handlers without authentication",{"reason":455,"points":11},"Dangerous unserialize function",{"reason":457,"points":232},"SQL queries without prepared statements",{"reason":459,"points":232},"Flows with unsanitized paths","2026-03-17T01:10:54.716Z",{"wat":462,"direct":481},{"assetPaths":463,"generatorPatterns":471,"scriptPaths":472,"versionParams":473},[464,465,466,467,468,469,470],"\u002Fwp-content\u002Fplugins\u002Fwatermark-protect-images\u002Fadmin\u002Fassets\u002Fcss\u002Filoveimg-wm-admin.css","\u002Fwp-content\u002Fplugins\u002Fwatermark-protect-images\u002Fadmin\u002Fassets\u002Fjs\u002Filoveimg-wm-admin.js","\u002Fwp-content\u002Fplugins\u002Fwatermark-protect-images\u002Fadmin\u002Fassets\u002Fjs\u002Filoveimg-wm-library.js","\u002Fwp-content\u002Fplugins\u002Fwatermark-protect-images\u002Fadmin\u002Fassets\u002Fjs\u002Filoveimg-wm-modal.js","\u002Fwp-content\u002Fplugins\u002Fwatermark-protect-images\u002Fadmin\u002Fassets\u002Fjs\u002Filoveimg-wm-page.js","\u002Fwp-content\u002Fplugins\u002Fwatermark-protect-images\u002Fassets\u002Fcss\u002Filoveimg-wm-frontend.css","\u002Fwp-content\u002Fplugins\u002Fwatermark-protect-images\u002Fassets\u002Fjs\u002Filoveimg-wm-frontend.js",[],[464,465,466,467,468,469,470],[474,475,476,477,478,479,480],"watermark-protect-images\u002Fadmin\u002Fassets\u002Fcss\u002Filoveimg-wm-admin.css?ver=","watermark-protect-images\u002Fadmin\u002Fassets\u002Fjs\u002Filoveimg-wm-admin.js?ver=","watermark-protect-images\u002Fadmin\u002Fassets\u002Fjs\u002Filoveimg-wm-library.js?ver=","watermark-protect-images\u002Fadmin\u002Fassets\u002Fjs\u002Filoveimg-wm-modal.js?ver=","watermark-protect-images\u002Fadmin\u002Fassets\u002Fjs\u002Filoveimg-wm-page.js?ver=","watermark-protect-images\u002Fassets\u002Fcss\u002Filoveimg-wm-frontend.css?ver=","watermark-protect-images\u002Fassets\u002Fjs\u002Filoveimg-wm-frontend.js?ver=",{"cssClasses":482,"htmlComments":501,"htmlAttributes":502,"restEndpoints":506,"jsGlobals":507,"shortcodeOutput":513},[483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500],"iloveimg-wm-bulk-wrapper","iloveimg-wm-modal-content","iloveimg-wm-modal-header","iloveimg-wm-modal-body","iloveimg-wm-modal-footer","iloveimg-wm-settings-page","iloveimg-wm-text-input","iloveimg-wm-select-input","iloveimg-wm-number-input","iloveimg-wm-checkbox-input","iloveimg-wm-radio-input","iloveimg-wm-image-preview","iloveimg-wm-bulk-item","iloveimg-wm-bulk-image","iloveimg-wm-bulk-action","iloveimg-wm-bulk-status","iloveimg-wm-bulk-progress","iloveimg-wm-bulk-error",[],[503,504,505],"data-iloveimg-wm-modal","data-iloveimg-wm-action","data-iloveimg-wm-id",[],[508,509,510,511,512],"iloveimg_wm_admin_params","iloveimg_wm_library_params","iloveimg_wm_modal_params","iloveimg_wm_page_params","iloveimg_wm_frontend_params",[]]