[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f9x_2XJAFhqATeN3PRyXRH6UVNLHvVZrCAuVrNpi2CDQ":3},{"slug":4,"name":4,"version":5,"author":6,"author_profile":7,"description":8,"short_description":9,"active_installs":10,"downloaded":11,"rating":12,"num_ratings":12,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":12,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":46,"crawl_stats":35,"alternatives":51,"analysis":158,"fingerprints":222},"dwnldr","1.031","findshorty","https:\u002F\u002Fprofiles.wordpress.org\u002Ffindshorty\u002F","\u003Cp>Sometimes there is no need for a huge, complex download manager, and let’s face it there’s rarely a need for an attachment page (who uses them right?).\u003C\u002Fp>\n\u003Cp>Simply add a link in your post, shortcode, widget or page to the attachment page of the file you want your users to download, and that’s it.\u003C\u002Fp>\n\u003Cp>dwnldr will log who’s downloaded it and when, and force the download without exposing your download’s URL.\u003C\u002Fp>\n\u003Cp>And don’t forget – if you like the plugin, please \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fdwnldr\" rel=\"ugc\">remember to review\u003C\u002Fa>! Thanks!\u003C\u002Fp>\n\u003Cp>And if you’re having any issues, or you’d like to suggest a feature – \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fdwnldr\" rel=\"ugc\">please write a support post\u003C\u002Fa>!\u003C\u002Fp>\n","Sometimes there is no need for a huge, complex download manager, and let's face it there's rarely a need for an attachment page (who uses th &hellip;",10,2054,0,"2016-09-08T10:59:00.000Z","4.5.33","4.0","",[18,19,20,21,22],"attachment","download-log","downloads","hide-url","pdf","http:\u002F\u002Ffindshorty.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdwnldr.zip",85,1,"2016-07-18 00:00:00","2026-03-15T15:16:48.613Z",[30],{"id":31,"url_slug":32,"title":33,"description":34,"plugin_slug":4,"theme_slug":35,"affected_versions":36,"patched_in_version":37,"severity":38,"cvss_score":39,"cvss_vector":40,"vuln_type":41,"published_date":27,"updated_date":42,"references":43,"days_to_patch":45},"CVE-2016-10964","dwnldr-cross-site-scripting","dwnldr \u003C 1.01 - Cross-Site Scripting","The dwnldr plugin before 1.01 for WordPress has XSS via the User-Agent HTTP header.",null,"\u003C=1.0","1.01","medium",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2024-01-22 19:56:02",[44],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fe98b1bc7-8dcb-4fcf-9238-598ce53e443e?source=api-prod",2745,{"slug":6,"display_name":6,"profile_url":7,"plugin_count":47,"total_installs":48,"avg_security_score":25,"avg_patch_time_days":45,"trust_score":49,"computed_at":50},2,310,69,"2026-04-04T19:06:39.786Z",[52,74,95,114,136],{"slug":53,"name":54,"version":55,"author":56,"author_profile":57,"description":58,"short_description":59,"active_installs":60,"downloaded":61,"rating":62,"num_ratings":63,"last_updated":64,"tested_up_to":65,"requires_at_least":66,"requires_php":67,"tags":68,"homepage":71,"download_link":72,"security_score":62,"vuln_count":26,"unpatched_count":12,"last_vuln_date":73,"fetched_at":28},"fluentforms-pdf","Fluent Forms PDF Generator","1.1.11","WPManageNinja","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpmanageninja\u002F","\u003Cp>\u003Cstrong>PDF Addon for Fluent Forms is the supplement you will need to automatically generate PDF files based on what users submit on the forms you created with Fluent Forms.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If you are looking forward to generate PDF files based on user submitted entries on your Fluent Forms plugin, this add-on is the perfect solution for you. With this add-on, you will be able to hand out to your users custom PDF files with your company logo engraved as a watermark, custom cover letter, dynamic personalised form entry summary or even payment invoices.\u003C\u002Fp>\n\u003Cp>The plugin comes with a customisable PDF template. Within a minute, you will be able to set up personalised PDF template with your company name, logo, entry date, dynamic personalisation, body text font family, size, color, PDF page orientation and the paper size. To automatically personalise the PDF files for every form entry, you can use shortcodes that will fetch the form input by themselves so that you don’t have to sweat over it.\u003C\u002Fp>\n\u003Cp>You can also send these PDF files via emails to your users and make them password-protected with just a few clicks.\u003C\u002Fp>\n\u003Ch4>Feature\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automated PDF generation based of form entries\u003C\u002Fli>\n\u003Cli>Supports all languages including Right-to-left (RTL) languages such as Arabic and Hebrew\u003C\u002Fli>\n\u003Cli>Customisable PDF template\u003C\u002Fli>\n\u003Cli>Customisable font family, color, page orientation and dimensions, watermark texts and logos, page footer and more\u003C\u002Fli>\n\u003Cli>Password-protected PDF files\u003C\u002Fli>\n\u003Cli>Deliver the PDF files via automated email notifications\u003C\u002Fli>\n\u003Cli>Conditional PDF generation that will be triggered when certain conditions are fulfilled\u003C\u002Fli>\n\u003Cli>Automatically generate invoices in PDF format after a payment is successful\u003C\u002Fli>\n\u003Cli>Upload and use any font you want in your PDF documents\u003C\u002Fli>\n\u003C\u002Ful>\n","Generate PDF from Your Form Submissions and Download\u002FEmail Them",20000,184239,100,5,"2025-11-27T13:10:00.000Z","6.8.5","5.0","7.4",[18,69,70,22],"fluent-forms","form-to-pdf","https:\u002F\u002Fwpmanageninja.com\u002Fdownloads\u002Ffluentform-pro-add-on\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffluentforms-pdf.1.1.11.zip","2024-01-22 00:00:00",{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":82,"downloaded":83,"rating":84,"num_ratings":85,"last_updated":86,"tested_up_to":87,"requires_at_least":88,"requires_php":16,"tags":89,"homepage":93,"download_link":94,"security_score":62,"vuln_count":12,"unpatched_count":12,"last_vuln_date":35,"fetched_at":28},"attachments","Attachments","3.5.11","Jon Christopher","https:\u002F\u002Fprofiles.wordpress.org\u002Fjchristopher\u002F","\u003Cp>\u003Cstrong>Extensive\u003C\u002Fstrong> usage instructions are \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjchristopher\u002Fattachments\u002F#attachments\" rel=\"nofollow ugc\">available on GitHub\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Attachments allows you to simply append any number of items from your WordPress Media Library to Posts, Pages, and Custom Post Types.\u003C\u002Fp>\n\u003Ch4>Associate Media items with posts\u003C\u002Fh4>\n\u003Cp>The idea behind Attachments is to give developers the ability to directly associate Media items with any post. This is accomplished by adding a meta box to post edit screens as determined by the developer. Once Media items have been associated with a post, you’re able to retrieve those Attachments and include them directly within your template files using any specific markup you wish.\u003C\u002Fp>\n\u003Ch4>Integrate Attachments within your theme with fine grained control\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Attachments does not automatically integrate itself with your theme.\u003C\u002Fstrong> Since the idea behind Attachments is to allow integration of Media within posts using developer-crafted, unique markup, \u003Cem>it’s up to you to integrate with your theme\u003C\u002Fem>. The most basic integration includes editing the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTemplate_Hierarchy\" rel=\"nofollow ugc\">appropriate template file\u003C\u002Fa> and adding your call(s) to Attachments. For example, if you have set up Attachments to be used with your Posts entries, edit \u003Ccode>single.php\u003C\u002Fcode> to include the following within The Loop:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php $attachments = new Attachments( 'attachments' ); \u002F* pass the instance name *\u002F ?>\n\u003C?php if( $attachments->exist() ) : ?>\n  \u003Ch3>Attachments\u003C\u002Fh3>\n  \u003Cp>Total Attachments: \u003C?php echo $attachments->total(); ?>\u003C\u002Fp>\n  \u003Cul>\n    \u003C?php while( $attachments->get() ) : ?>\n      \u003Cli>\n        ID: \u003C?php echo $attachments->id(); ?>\u003Cbr \u002F>\n        Type: \u003C?php echo $attachments->type(); ?>\u003Cbr \u002F>\n        Subtype: \u003C?php echo $attachments->subtype(); ?>\u003Cbr \u002F>\n        URL: \u003C?php echo $attachments->url(); ?>\u003Cbr \u002F>\n        Image: \u003C?php echo $attachments->image( 'thumbnail' ); ?>\u003Cbr \u002F>\n        Source: \u003C?php echo $attachments->src( 'full' ); ?>\u003Cbr \u002F>\n        Size: \u003C?php echo $attachments->filesize(); ?>\u003Cbr \u002F>\n        Title Field: \u003C?php echo $attachments->field( 'title' ); ?>\u003Cbr \u002F>\n        Caption Field: \u003C?php echo $attachments->field( 'caption' ); ?>\n      \u003C\u002Fli>\n    \u003C?php endwhile; ?>\n  \u003C\u002Ful>\n\u003C?php endif; ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>That snippet will request all of the existing Attachments defined for the current Post within The Loop, and retrieve each itemized property for that Attachment. Using the provided details you’re able to integrate the attached Media items in any way you please.\u003C\u002Fp>\n\u003Cp>There is a lot more information on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjchristopher\u002Fattachments\" rel=\"nofollow ugc\">Attachments’ GitHub page\u003C\u002Fa>. Please contribute!\u003C\u002Fp>\n\u003Ch3>Roadmap\u003C\u002Fh3>\n\u003Cp>Please see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjchristopher\u002Fattachments\u002Fblob\u002Fmaster\u002Fdocs\u002Froadmap.md\" rel=\"nofollow ugc\">Attachments on GitHub\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Extensive\u003C\u002Fstrong> usage instructions are \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjchristopher\u002Fattachments\u002Fblob\u002Fmaster\u002Fdocs\u002Fusage.md\" rel=\"nofollow ugc\">available on GitHub\u003C\u002Fa>\u003C\u002Fp>\n","Attachments allows you to simply append any number of items from your WordPress Media Library to Posts, Pages, and Custom Post Types",9000,281160,96,53,"2025-12-30T15:11:00.000Z","6.9.4","3.0",[18,90,22,91,92],"page","picture","post","https:\u002F\u002Fgithub.com\u002Fjchristopher\u002Fattachments","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fattachments.3.5.11.zip",{"slug":96,"name":97,"version":98,"author":99,"author_profile":100,"description":101,"short_description":102,"active_installs":82,"downloaded":103,"rating":84,"num_ratings":104,"last_updated":105,"tested_up_to":87,"requires_at_least":106,"requires_php":107,"tags":108,"homepage":112,"download_link":113,"security_score":62,"vuln_count":12,"unpatched_count":12,"last_vuln_date":35,"fetched_at":28},"document-gallery","Document Gallery","5.1.0","Dan Rossiter","https:\u002F\u002Fprofiles.wordpress.org\u002Fdanrossiter\u002F","\u003Cp>Display your documents beautifully! Document Gallery creates thumbnail galleries for PDFs, Word documents, PowerPoint presentations, and other file types—just like WordPress does for images.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>WordPress Block Editor\u003C\u002Fstrong> – Insert galleries with a single click, configure visually\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Thumbnails\u003C\u002Fstrong> – Generates preview images for documents (PDF, Office files, etc.)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Modern Image Formats\u003C\u002Fstrong> – Full support for WebP and AVIF images (WordPress 6.5+)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Display\u003C\u002Fstrong> – Grid or list layout with optional descriptions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart Filtering\u003C\u002Fstrong> – Show all attachments, current post only, or specific documents\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pagination Support\u003C\u002Fstrong> – Handle large document libraries efficiently\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fully Customizable\u003C\u002Fstrong> – Control columns, sorting, links, and styling\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Classic Shortcode\u003C\u002Fstrong> – \u003Ccode>[dg]\u003C\u002Fcode> shortcode available for template use\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Perfect For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Document libraries and resource centers\u003C\u002Fli>\n\u003Cli>Portfolio and work sample galleries\u003C\u002Fli>\n\u003Cli>Publication and whitepaper collections\u003C\u002Fli>\n\u003Cli>Course materials and downloads\u003C\u002Fli>\n\u003Cli>Legal document repositories\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Block Editor Integration\u003C\u002Fh4>\n\u003Cp>Click the ‘+’ button in the editor and search for “Document Gallery” to insert a gallery block. All configuration options appear in the sidebar—no shortcode knowledge required. Select specific documents or let the gallery auto-populate based on your criteria.\u003C\u002Fp>\n\u003Ch4>Shortcode Support\u003C\u002Fh4>\n\u003Cp>The classic \u003Ccode>[dg]\u003C\u002Fcode> shortcode continues to work perfectly for template files, widgets, and power users who prefer code-based configuration. See the Installation tab for all available options.\u003C\u002Fp>\n\u003Ch4>Developer Friendly\u003C\u002Fh4>\n\u003Cp>Document Gallery provides extensive filters and actions for customizing thumbnail generation, HTML output, and gallery queries. See the Installation tab for complete developer documentation.\u003C\u002Fp>\n\u003Ch4>Partners\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>WP Real Media Library\u003C\u002Fstrong>: Document Gallery seamlessly integrates with RML by way of a\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdg-real-media-library\u002F\" rel=\"ugc\">helper plugin\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translation\u003C\u002Fh4>\n\u003Cp>Document Gallery has to-date been translated into \u003Cstrong>6\u003C\u002Fstrong> languages, listed below.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Finnish\u003C\u002Fstrong> — \u003Cem>Thanks, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fprofile\u002Fvillevetela\" rel=\"ugc\">villevetela\u003C\u002Fa>!\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>French\u003C\u002Fstrong> — \u003Cem>Thanks, Marc Liotard and \u003Ca href=\"http:\u002F\u002Fwww.trafic-influence.com\u002F\" rel=\"nofollow ugc\">Traffic Influence\u003C\u002Fa>!\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Russian\u003C\u002Fstrong> — \u003Cem>Thanks, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fprofile\u002Fdemur\" rel=\"ugc\">demur\u003C\u002Fa>!\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Spanish\u003C\u002Fstrong> — \u003Cem>Thanks, Andrew Kurtis and \u003Ca href=\"http:\u002F\u002Fwww.webhostinghub.com\u002F\" rel=\"nofollow ugc\">WebHostingHub\u003C\u002Fa>!\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Swedish\u003C\u002Fstrong> — \u003Cem>Thanks, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fprofile\u002Fmepmepmep\" rel=\"ugc\">mepmepmep\u003C\u002Fa>!\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Ukrainian\u003C\u002Fstrong> — \u003Cem>Thanks, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fprofile\u002Fdemur\" rel=\"ugc\">demur\u003C\u002Fa>!\u003C\u002Fem>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Developers\u003C\u002Fh4>\n\u003Cp>Document Gallery includes features intended to make integration with other plugins\u003Cbr \u002F>\nsimple. See the bottom of the \u003Cstrong>Installation\u003C\u002Fstrong> tab for specific documentation on\u003Cbr \u002F>\nthe various features provided.\u003C\u002Fp>\n\u003Cp>\u003Cem>If this plugin has helped you, please take a moment to \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fdocument-gallery#postform\" rel=\"ugc\">rate it\u003C\u002Fa>!\u003C\u002Fem>\u003C\u002Fp>\n","This plugin generates thumbnails for documents and displays them in a gallery-like format for easy sharing.",320343,112,"2025-12-09T01:05:00.000Z","6.1","5.6",[75,109,110,22,111],"documents","library","word","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdocument-gallery\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdocument-gallery.5.1.0.zip",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":82,"downloaded":122,"rating":123,"num_ratings":124,"last_updated":125,"tested_up_to":87,"requires_at_least":126,"requires_php":16,"tags":127,"homepage":131,"download_link":132,"security_score":133,"vuln_count":134,"unpatched_count":12,"last_vuln_date":135,"fetched_at":28},"send-pdf-for-contact-form-7","Send PDF for Contact Form 7","1.0.3.8","Florent Maillefaud","https:\u002F\u002Fprofiles.wordpress.org\u002Fflorent73\u002F","\u003Cp>This plugin adds conditional logic to \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-7\u002F\" rel=\"ugc\">[Contact Form 7]\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Send the PDF for Contact Form plugin will allow you to recover the data yourself via your form to insert them into a PDF built and prepared by you.\u003C\u002Fp>\n\u003Cp>This plugin requires the installation and activation of the plugin Contact Form 7.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdemo.restezconnectes.fr\u002Fsend-pdf-for-contact-form-7\u002F\" rel=\"nofollow ugc\">DEMO HERE\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Frestezconnectes.fr\u002Ftutoriel-wordpress-lextension-send-pdf-for-contact-form-7\u002F\" rel=\"nofollow ugc\">[Tutorial Here]\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Translations: \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fsend-pdf-for-contact-form-7\u002F\" rel=\"nofollow ugc\">Here\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Contribute\u003C\u002Fh3>\n\u003Cp>You can contribute with code, issues and ideas at the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFlorent73\u002Fsend-pdf-for-contact-form-7\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you like it, a review is appreciated 🙂\u003C\u002Fp>\n","Create, customize and send PDF attachments with Contact Form 7 form",358948,86,80,"2026-02-06T02:26:00.000Z","5.2",[18,128,129,22,130],"contact-form-7","form","send","https:\u002F\u002Frestezconnectes.fr\u002Ftutoriel-wordpress-lextension-send-pdf-for-contact-form-7\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsend-pdf-for-contact-form-7.1.0.3.8.zip",98,3,"2024-04-23 00:00:00",{"slug":137,"name":138,"version":139,"author":140,"author_profile":141,"description":142,"short_description":143,"active_installs":144,"downloaded":145,"rating":146,"num_ratings":147,"last_updated":148,"tested_up_to":87,"requires_at_least":149,"requires_php":67,"tags":150,"homepage":156,"download_link":157,"security_score":62,"vuln_count":12,"unpatched_count":12,"last_vuln_date":35,"fetched_at":28},"waterwoo-pdf","PDF Ink Lite – PDF Watermark & Password Protection","4.0.11","Canyon Webworks","https:\u002F\u002Fprofiles.wordpress.org\u002Fcanyonwebworks\u002F","\u003Cp>PDF Ink Lite can add a watermark to every page of your sold PDF file(s). It can also password and permissions protect your PDFs. The watermark is customizable with font face, font color, font size, vertical placement, and text.\u003C\u002Fp>\n\u003Cp>PDF Ink Lite watermarks PDF products when downloaded using WooCommerce download links, and works similarly for Download Monitor and Easy Digital Downloads.\u003C\u002Fp>\n\u003Cp>Since the watermark is added when the download button is clicked (either on the customer’s order confirmation page or email, or account page), the watermark can include customer-specific data such as the customer’s first name, last name, and email.\u003C\u002Fp>\n\u003Cp>Upon purchase download link, this plugin uses the open source TCPDI and TCPDF libraries to parse and customize your PDF.\u003C\u002Fp>\n\u003Cp>\u003Cem>(FYI – This plugin used to be called WaterWoo. It’s been in active development since 2014!)\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Choice of font face, color, size and placement (a horizontal line of text, centered anywhere on the page)\u003C\u002Fli>\n\u003Cli>Included font types cover most languages, and the plugin is internationalized\u003C\u002Fli>\n\u003Cli>Dynamic customer data inputs (customer first name, last name, email, order paid date, and phone) to customize PDFs on-the-fly\u003C\u002Fli>\n\u003Cli>Add a password to your PDF, and\u002For anti-copy, anti-print protections\u003C\u002Fli>\n\u003Cli>Watermark only designated PDF downloads (as specified by you), or \u003Cem>all\u003C\u002Fem> PDF downloads from your site\u003C\u002Fli>\n\u003Cli>Watermark is applied to \u003Cstrong>all\u003C\u002Fstrong> pages of the PDF (\u003Ca href=\"https:\u002F\u002Fpdfink.com\u002F\" title=\"Upgrade to the full version\" rel=\"nofollow ugc\">upgrade to choose pages\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Accommodates different page\u002Fpaper sizes, and PDFs with various page sizes (letter, A4, legal, etc)\u003C\u002Fli>\n\u003Cli>Secure & encapsulated: PDF Ink hooks into e-commerce download link clicks and checks for PDFs and maybe marks them – that’s it!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>PDF Ink Lite is the only watermarker for WordPress which includes necessary libraries (so you don’t have to ask your host to load them), is compatible with PHP 8+, and watermarks newer versions of PDFs (not just older versions).\u003C\u002Fp>\n\u003Cp>For better PDF coverage and many more options, \u003Ca href=\"https:\u002F\u002Fpdfink.com\u002F\" title=\"PDF Ink\" rel=\"nofollow ugc\">check out PDF Ink, the full version of PDF Ink Lite\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Upgraded (paid) version features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Clean, robust settings panels and a separate watermarking testing suite\u003C\u002Fli>\n\u003Cli>Watermark all PDF files with same settings OR set individual watermarks\u002Fpasswords per product or even per product variation\u003C\u002Fli>\n\u003Cli>Begin watermark on selected page of PDF document (to avoid watermarking a cover page, for example), and\u002For select end page\u003C\u002Fli>\n\u003Cli>Watermark every page, odd pages, even pages, or ranges of pages\u003C\u002Fli>\n\u003Cli>Unlimited rotatable watermark locations on one page, anywhere on the page\u003C\u002Fli>\n\u003Cli>Additional dynamic customer data input (business name, address, order number, product name, quantity of product purchased), and filter hooks for adding your own\u003C\u002Fli>\n\u003Cli>Semi-opaque (transparent) watermarks – hide your watermarks completely if desired\u003C\u002Fli>\n\u003Cli>RTL (right to left) watermarking\u003C\u002Fli>\n\u003Cli>Use of some HTML tags to style your output, including text-align CSS styling (right, center, left is default), links (\u003Ca>), bold (\u003Cstrong>), italic (\u003Cem>)…\u003C\u002Fli>\n\u003Cli>Additional text formatting options, such as font color and style (bold, italics) using HTML\u003C\u002Fli>\n\u003Cli>Line-wrapping, forced breaks with \u003Cp> and \u003Cbr \u002F> tags\u003C\u002Fli>\n\u003Cli>Upload and use your own font for stamping. Also, hooks to further customize font use\u003C\u002Fli>\n\u003Cli>Higher level PDF protections with AES encryption and extended file protection settings\u003C\u002Fli>\n\u003Cli>Keep original and\u002For add file metadata\u003C\u002Fli>\n\u003Cli>Edit or add PDF annotations, add embedded streams, and edit PDF outgoing (URI) links\u003C\u002Fli>\n\u003Cli>Open ZIP files and mark PDF files inside the archive\u003C\u002Fli>\n\u003Cli>Stamp EPUB files with customized text\u003C\u002Fli>\n\u003Cli>Shortcode for creating PDF download links for any page (no need for e-commerce plugin)\u003C\u002Fli>\n\u003Cli>Embed marked\u002Fencrypted files on the page, using ADOBE SDK embed or PDF Object JavaScript embed.\u003C\u002Fli>\n\u003Cli>Test watermark and\u002For manually watermark a file on the fly, from the admin panel\u003C\u002Fli>\n\u003Cli>Preserves external embedded PDF links despite watermarking; internal links (ToC) are not reliably preserved (\u003Ca href=\"https:\u002F\u002Fpdfink.com\u002F?source=wordpress\" rel=\"nofollow ugc\">add SetaPDF-Stamper to PDF Ink\u003C\u002Fa> for this feature)\u003C\u002Fli>\n\u003Cli>Filter hooks to add 1D and 2D barcodes (including \u003Cstrong>QR codes\u003C\u002Fstrong>)\u003C\u002Fli>\n\u003Cli>Remove stamped files from your server after stamping, or on a schedule\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fpdfink.com\u002F\" title=\"PDF Ink\" rel=\"nofollow ugc\">PDF Ink is priced below competitor plugins that offer \u003Cem>maybe\u003C\u002Fem> half the function.\u003C\u002Fa>  Why? Because we want you to succeed! 🥰\u003C\u002Fp>\n","The original WordPress PDF Watermark & password plugin (fka WaterWoo) Automatically 'tattoo' & protect PDFs for WooCommerce, EDD, an &hellip;",2000,82887,92,49,"2026-03-11T17:25:00.000Z","4.9",[151,152,153,154,155],"digital-downloads","pdf-security","pdf-stamp","pdf-watermark","woocommerce-pdf","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwaterwoo-pdf\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwaterwoo-pdf.4.0.11.zip",{"attackSurface":159,"codeSignals":187,"taintFlows":210,"riskAssessment":211,"analyzedAt":221},{"hooks":160,"ajaxHandlers":183,"restRoutes":184,"shortcodes":185,"cronEvents":186,"entryPointCount":12,"unprotectedCount":12},[161,167,171,174,179],{"type":162,"name":163,"callback":164,"file":165,"line":166},"action","template_redirect","check_attachment","dwnldr.php",22,{"type":162,"name":168,"callback":169,"file":165,"line":170},"admin_init","add_list_download_log_metabox",24,{"type":162,"name":168,"callback":172,"file":165,"line":173},"load_textdomain",25,{"type":175,"name":176,"callback":177,"file":165,"line":178},"filter","manage_media_columns","add_dwnldr_column",26,{"type":162,"name":180,"callback":181,"priority":10,"file":165,"line":182},"manage_media_custom_column","display_dwnldr_column",27,[],[],[],[],{"dangerousFunctions":188,"sqlUsage":189,"outputEscaping":191,"fileOperations":26,"externalRequests":12,"nonceChecks":12,"capabilityChecks":12,"bundledLibraries":209},[],{"prepared":12,"raw":12,"locations":190},[],{"escaped":12,"rawEcho":192,"locations":193},9,[194,197,198,200,201,203,204,205,207],{"file":165,"line":195,"context":196},48,"raw output",{"file":165,"line":49,"context":196},{"file":165,"line":199,"context":196},95,{"file":165,"line":84,"context":196},{"file":165,"line":202,"context":196},97,{"file":165,"line":133,"context":196},{"file":165,"line":133,"context":196},{"file":165,"line":206,"context":196},105,{"file":165,"line":208,"context":196},151,[],[],{"summary":212,"deductions":213},"The 'dwnldr' plugin v1.031 exhibits a mixed security posture. On the positive side, the static analysis reveals no apparent direct attack surface through common WordPress entry points like AJAX, REST API, shortcodes, or cron events.  Furthermore, all SQL queries utilize prepared statements, indicating good database interaction practices, and there are no external HTTP requests or bundled libraries, which can sometimes introduce vulnerabilities. However, a significant concern is the complete lack of output escaping for all identified output points (9 total). This leaves the plugin highly susceptible to Cross-Site Scripting (XSS) vulnerabilities, where malicious scripts could be injected into the website. The absence of nonce and capability checks also means that any potential vulnerabilities discovered in the future would be easier to exploit.  The vulnerability history, though dated, shows a past XSS vulnerability, which aligns with the current finding of unescaped output and suggests a recurring weakness.\n\nWhile the plugin currently has no unpatched CVEs and a relatively small number of total CVEs historically, the lack of output escaping is a critical flaw that significantly increases the risk of exploitation. The absence of any taint analysis results is not necessarily a strength but rather an indication that the static analysis tooling might not have detected complex data flow issues, or the plugin's code is too simple to trigger such findings. The main takeaway is the high risk associated with the unescaped output, which creates a clear pathway for XSS attacks, despite the absence of a large attack surface.",[214,217,219],{"reason":215,"points":216},"Unescaped output for all identified outputs",20,{"reason":218,"points":63},"No capability checks",{"reason":220,"points":63},"No nonce checks","2026-03-17T00:56:35.548Z",{"wat":223,"direct":228},{"assetPaths":224,"generatorPatterns":225,"scriptPaths":226,"versionParams":227},[],[],[],[],{"cssClasses":229,"htmlComments":231,"htmlAttributes":232,"restEndpoints":233,"jsGlobals":234,"shortcodeOutput":235},[230],"dwnldr_logs",[],[],[],[],[]]