[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fgyzXE661Q2FrzQcqx6mv9zYqQK2vtyTb_2OwFz6nxDo":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":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":38,"analysis":39,"fingerprints":136},"download-pdf-after-submit-form","Download PDF After Submit Form","2.2.6","Md. Shahinur Islam","https:\u002F\u002Fprofiles.wordpress.org\u002Fshahinurislam\u002F","\u003Cp>\u003Cstrong>Download PDF After Submit Form\u003C\u002Fstrong> (DPASF) is a powerful WordPress plugin that allows you to protect and provide PDF files for download after users submit a form. Perfect for lead generation, gated content, and restricted file access.\u003C\u002Fp>\n\u003Cp>With DPASF, you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Restrict PDF downloads until a form is submitted.\u003C\u002Fli>\n\u003Cli>Collect user information for each download.\u003C\u002Fli>\n\u003Cli>Customize popup designs with editable fields.\u003C\u002Fli>\n\u003Cli>Use shortcodes anywhere on your site with ease.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin offers the premium feature of ready popup design & provides quick access to beautiful all fields that can be edit in your popup easily.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Official Resources:\u003C\u002Fstrong>\u003Cbr \u002F>\n* 👉 \u003Ca href=\"https:\u002F\u002Fplugins.larapress.org\u002Fsample-page\u002F\" rel=\"nofollow ugc\">Live Demo\u003C\u002Fa>\u003Cbr \u002F>\n* 👉 \u003Ca href=\"http:\u002F\u002Fplugins.larapress.org\u002Fproduct\u002Fdownload-pdf-after-submit-form-pro\u002F\" rel=\"nofollow ugc\">Pro Version\u003C\u002Fa>\u003Cbr \u002F>\n* 👉 \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FG-FYx8vDnDY\" rel=\"nofollow ugc\">Video Tutorial\u003C\u002Fa>\u003Cbr \u002F>\n* 👉 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdownload-pdf-after-submit-form\u002F#installation\" rel=\"ugc\">Installation Guide\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Free Version Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Protect and restrict PDF downloads.\u003C\u002Fli>\n\u003Cli>Allow PDF download after form submission.\u003C\u002Fli>\n\u003Cli>Two general popup form templates.\u003C\u002Fli>\n\u003Cli>Collect and store user information when a PDF is downloaded.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Pro Version Features\u003C\u002Fh3>\n\u003Cp>Includes all free features plus:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Fully customizable popup designs.\u003C\u002Fli>\n\u003Cli>Add, remove, or edit input fields.\u003C\u002Fli>\n\u003Cli>Real-time updates to the form layout.\u003C\u002Fli>\n\u003Cli>Premium support and faster assistance.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> Uninstall the free version before installing the Pro version.\u003C\u002Fp>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Cpre>[formtodownload urlname=\"url\" title=\"pdfname\"]\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>urlname\u003C\u002Fstrong> – The direct URL to your PDF (e.g., \u003Ccode>https:\u002F\u002Fyoursite.com\u002Ffile.pdf\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>title\u003C\u002Fstrong> – A unique name for the PDF (no spaces).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support & Documentation\u003C\u002Fh3>\n\u003Cp>You can find and more detailed information about Download PDF after Submit Form on gitlab. If you were unable to find the answer to your question on the FAQ or in any of the documentation, you should check the support forum on WordPress.org. If you can’t locate any topics that pertain to your particular issue, post a new topic for it.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdownload-pdf-after-submit-form\u002F#installation\" rel=\"ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugins.larapress.org\" rel=\"nofollow ugc\">FAQ & Tutorials\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgitlab.com\u002Fshahinurislam\u002Fdownload-pdf-after-submit-form\" rel=\"nofollow ugc\">GitLab Repository\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fdownload-pdf-after-submit-form\" rel=\"ugc\">Support Forum\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why Use Download PDF After Submit Form?\u003C\u002Fh3>\n\u003Cp>Download PDF After Submit Form gives you all the features needed to create a files restricted permission without any hassle.\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\u002FQ6J6LMn5D18?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\u003Ch3>Why Use Download PDF After Submit Form Pro Version with tutorial?\u003C\u002Fh3>\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\u002FG-FYx8vDnDY?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\u003Ch3>Contributing \u002F Donations\u003C\u002Fh3>\n\u003Cp>Your support keeps this plugin free! If you enjoy using DPASF, please consider \u003Ca href=\"https:\u002F\u002Fmdshahinurislamm.github.io\u002Fdpasf\u002Fcontact.html\" rel=\"nofollow ugc\">making a donation\u003C\u002Fa>. Donations help maintain development and provide better support.\u003C\u002Fp>\n\u003Ch3>Other Plugins\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcareer-section\u002F\" rel=\"ugc\">Career Section\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffeedback-form-users\u002F\" rel=\"ugc\">Feedback Form Users\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmeta-box-gallerymeta\u002F\" rel=\"ugc\">Meta-box GalleryMeta\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpost-auto-vertical-scrolling\u002F\" rel=\"ugc\">Post Auto Vertical Scrolling\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-font-resizer\u002F\" rel=\"ugc\">Simple Font Resizer\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpost-date-range-filter\u002F\" rel=\"ugc\">Post Date Range Filter\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fscoreboard-ui\u002F\" rel=\"ugc\">Scoreboard UI\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Easily allow users to download PDFs after submitting a form with customizable shortcodes. No coding required – just install and configure!",500,11089,64,6,"2026-03-15T05:39:00.000Z","6.9.4","5.8","7.4",[4,20,21,22,23],"lock-pdf-after-signing","password-protect-a-pdf","restricted-content-download","restricted-pdf","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdownload-pdf-after-submit-form\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdownload-pdf-after-submit-form.2.2.6.zip",100,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":26,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"shahinurislam",7,730,11,94,"2026-04-04T07:17:58.025Z",[],{"attackSurface":40,"codeSignals":91,"taintFlows":102,"riskAssessment":130,"analyzedAt":135},{"hooks":41,"ajaxHandlers":82,"restRoutes":83,"shortcodes":84,"cronEvents":89,"entryPointCount":90,"unprotectedCount":27},[42,48,52,56,60,64,70,74,79],{"type":43,"name":44,"callback":45,"file":46,"line":47},"action","wp_enqueue_scripts","add_css_js_DPBSF","include\\enqueue.php",9,{"type":43,"name":49,"callback":50,"file":46,"line":51},"admin_enqueue_scripts","admin_enqueue_DPBSF",17,{"type":43,"name":53,"callback":54,"file":55,"line":14},"init","dpbsf_download_posttype","include\\posttype.php",{"type":43,"name":57,"callback":58,"file":55,"line":59},"admin_head","dpbsf_hide_infomat_add_new_button",54,{"type":43,"name":61,"callback":62,"file":55,"line":63},"add_meta_boxes","dpbsf_add_custom_metabox",78,{"type":65,"name":66,"callback":67,"priority":68,"file":55,"line":69},"filter","gettext","dpbsf_change_edit_text_to_view",10,91,{"type":43,"name":71,"callback":72,"file":55,"line":73},"admin_menu","remove_add_new_submenu_from_infomat",93,{"type":43,"name":75,"callback":76,"file":77,"line":78},"admin_init","dpbsf_plugin_redirect","index.php",294,{"type":43,"name":71,"callback":80,"file":77,"line":81},"dpbsf_register_my_custom_submenu_page",316,[],[],[85],{"tag":86,"callback":87,"file":77,"line":88},"formtodownload","dpbsf_shortcode_wrapper",290,[],1,{"dangerousFunctions":92,"sqlUsage":93,"outputEscaping":95,"fileOperations":27,"externalRequests":27,"nonceChecks":90,"capabilityChecks":27,"bundledLibraries":101},[],{"prepared":27,"raw":27,"locations":94},[],{"escaped":96,"rawEcho":90,"locations":97},82,[98],{"file":55,"line":99,"context":100},69,"raw output",[],[103,122],{"entryPoint":104,"graph":105,"unsanitizedCount":27,"severity":121},"dpbsf_shortcode_wrapper (index.php:31)",{"nodes":106,"edges":118},[107,112],{"id":108,"type":109,"label":110,"file":77,"line":111},"n0","source","$_POST (x2)",92,{"id":113,"type":114,"label":115,"file":77,"line":116,"wp_function":117},"n1","sink","echo() [XSS]",164,"echo",[119],{"from":108,"to":113,"sanitized":120},true,"low",{"entryPoint":123,"graph":124,"unsanitizedCount":27,"severity":121},"\u003Cindex> (index.php:0)",{"nodes":125,"edges":128},[126,127],{"id":108,"type":109,"label":110,"file":77,"line":111},{"id":113,"type":114,"label":115,"file":77,"line":116,"wp_function":117},[129],{"from":108,"to":113,"sanitized":120},{"summary":131,"deductions":132},"The 'download-pdf-after-submit-form' plugin version 2.2.6 demonstrates a generally good security posture based on the provided static analysis. It exhibits strong practices in several key areas, including a complete absence of dangerous functions, SQL injection vulnerabilities (all queries use prepared statements), and a very high rate of properly escaped output. The plugin also avoids file operations and external HTTP requests, further reducing potential attack vectors. Furthermore, the lack of known CVEs and a clean vulnerability history indicate a stable and well-maintained codebase. However, there is one notable weakness: the absence of capability checks on any entry points. While the attack surface is currently small and has only one unprotected entry point (a shortcode), any future expansion of functionality or modifications that introduce new entry points without proper capability checks could expose the plugin to privilege escalation or unauthorized access vulnerabilities.  The presence of a nonce check is a positive sign, but it is not a substitute for robust authorization checks.",[133],{"reason":134,"points":68},"No capability checks on entry points","2026-03-16T19:32:50.533Z",{"wat":137,"direct":142},{"assetPaths":138,"generatorPatterns":139,"scriptPaths":140,"versionParams":141},[],[],[],[],{"cssClasses":143,"htmlComments":144,"htmlAttributes":145,"restEndpoints":146,"jsGlobals":147,"shortcodeOutput":148},[],[],[],[],[],[]]