[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fWgYtPkARwJiMjcSMLcV6oS9_D3ZoMowVI4v23hVIZKE":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":15,"tags":16,"homepage":22,"download_link":23,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":35,"analysis":133,"fingerprints":180},"lh-localforage","LH Localforage","1.74","shawfactor","https:\u002F\u002Fprofiles.wordpress.org\u002Fshawfactor\u002F","\u003Cp>This plugin can greatly improve the user experience for your blog, by automatically and periodically saving fields like “just typed” comment (the content textarea input box in comment section), the visitors email, and vitors name (in the comment form).\u003C\u002Fp>\n\u003Cp>The comment is saved using client side indexeddd (falling back to localstorage), this prevents loss of unsubmitted content.\u003C\u002Fp>\n\u003Cp>This is similar like WordPress can remember your Name, Email, Website in comment area for the next visit, but WP Local Storage plugin extends this into next level, it can remember the actual unsaved comment (i.e. before hit submit button) so even the browser is crashed before the user hit save, it is okay! When the user  came back, all “just type comment” will be still in there.\u003C\u002Fp>\n\u003Cp>More importantly all data is saved client side, nothing is sent to the server. Thus maintaining visitor privacy!\u003C\u002Fp>\n","This plugin automatically and periodically saves the \"just typed comment\" so no data will be lost even if the browser crashes.",0,845,"2020-03-18T06:24:00.000Z","5.3.21","",[17,18,19,20,21],"client-side","indexeddb","local-storage","localforage","localstorage","https:\u002F\u002Flhero.org\u002Fportfolio\u002Flh-localforage\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flh-localforage.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":30,"avg_security_score":31,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},77,14650,87,7,91,"2026-04-03T21:32:07.475Z",[36,59,78,95,114],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":46,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":15,"tags":51,"homepage":57,"download_link":58,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"comment-form-js-validation","Comment Form Js Validation","1.2","Navnit Viradiya","https:\u002F\u002Fprofiles.wordpress.org\u002Fnavnitviradiya13\u002F","\u003Cp>This plugin is used for WordPress comments JavaScript validation in the comment form. It provides options to set your own validation message and add Google Captcha (reCAPTCHA).\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Easy to install\u003C\u002Fli>\n\u003Cli>Custom validation message\u003C\u002Fli>\n\u003Cli>Google Captcha (reCAPTCHA)\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin use for wordpress comments form js validation.",2000,14544,100,5,"2024-02-14T11:07:00.000Z","6.4.8","4.0",[52,53,54,55,56],"advance-comment-form-validation","client-side-comment-form-validation","form-validation","jquery-comment-form-validation","plugins","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcomment-form-js-validation\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcomment-form-js-validation.zip",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":46,"num_ratings":69,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":15,"tags":73,"homepage":76,"download_link":77,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"comment-validation","Comment Validation","0.4","joern.zaefferer","https:\u002F\u002Fprofiles.wordpress.org\u002Fjoernzaefferer\u002F","\u003Cp>Ever got annoyed when submitting a comment on a wordpress blog and just getting a blank page with a error message like “please fill out required fields” and nothing else? This plugin aims to help by adding validation to the comment form. When a user submits the form and something is missing, an appropiate message is displayed and individual fields are highlighted. When the email or url is in an incorrect format, a message is displayed accordingly.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why should you install it?\u003C\u002Fstrong> Because you care for comments and want to help users reduce mistakes that hold them off from commenting at all.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Whats the technology used?\u003C\u002Fstrong> \u003Ca href=\"http:\u002F\u002Fjquery.com\" rel=\"nofollow ugc\">jQuery\u003C\u002Fa> and the \u003Ca href=\"http:\u002F\u002Fbassistance.de\u002Fjquery-plugins\u002Fjquery-plugin-validation\u002F\" rel=\"nofollow ugc\">jQuery Validation plugin\u003C\u002Fa> with a few customizations to make it fit into the standard WordPress theme.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Is it compatible with other plugins?\u003C\u002Fstrong> The plugin is tested with the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fdraw-comments\u002F\" rel=\"ugc\">Draw Comments\u003C\u002Fa> plugin and works, though the performance is slightly degraded. Other plugins haven’t yet been tested.\u003C\u002Fp>\n","This plugin adds client-side validation to the Wordpress comment form, using the jQuery validation plugin.",700,22463,1,"2010-04-25T19:52:00.000Z","2.9.2","2.0.0",[17,74,75],"comments","validation","http:\u002F\u002Fbassistance.de\u002Fwordpress-plugin-comment-validation\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcomment-validation.zip",{"slug":79,"name":80,"version":39,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":87,"num_ratings":88,"last_updated":89,"tested_up_to":90,"requires_at_least":50,"requires_php":15,"tags":91,"homepage":93,"download_link":94,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"comment-form-validation","Comment Form Validation","Abhay","https:\u002F\u002Fprofiles.wordpress.org\u002Fabhay-raj\u002F","\u003Cp>This plugin use for wordpress comments validation to the comment form. only need to activate the plugin.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>easy to install\u003C\u002Fli>\n\u003Cli>No need to settings in admin area\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cp>This plugin requires PHP 5 or PHP 7 and WordPress 3.0 or greater. It works in standard WordPress environments. It is strongly recommended to use WordPress in the newest version.\u003C\u002Fp>\n\u003Ch4>Contact\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>If you have any suggestion, feel free to email me at abhayrajmca@gmail.com, info@wordpressoutsourcingpartners.com.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How to Use\u003C\u002Fh3>\n\u003Cp>only need to activate the plugin.\u003C\u002Fp>\n","This plugin use for wordpress comments validation to the comment form. only need to activate the plugin.",200,4909,90,2,"2020-09-01T09:21:00.000Z","5.5.18",[52,53,79,92,55],"javascript-comment-form-validation","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcomment-form-validation\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcomment-form-validation.zip",{"slug":96,"name":97,"version":98,"author":99,"author_profile":100,"description":101,"short_description":102,"active_installs":46,"downloaded":103,"rating":46,"num_ratings":47,"last_updated":104,"tested_up_to":105,"requires_at_least":106,"requires_php":15,"tags":107,"homepage":112,"download_link":113,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"ajax-manufactory","AJAX Manufactory","1.7.11","Epsiloncool","https:\u002F\u002Fprofiles.wordpress.org\u002Fepsiloncool\u002F","\u003Cp>Whenever you plan to begin developing applications on WordPress using AJAX technology, you have to solve a number of\u003Cbr \u002F>\nminor issues unrelated to the logic of your application:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>How to package and transmit data from the browser to the server, so they will not have been distorted?\u003C\u002Fli>\n\u003Cli>How to transfer data, if they are multi-dimensional array?\u003C\u002Fli>\n\u003Cli>How to implement a custom processing of AJAX response in case, again, it represents a complex set of data (a typical\u003Cbr \u002F>\nexample – form sending and on-server validation)?\u003C\u002Fli>\n\u003Cli>How to handle data transition errors?\u003C\u002Fli>\n\u003Cli>How to debug all this stuff?\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Usually these issues generates a lot of spaghetti code, moreover, each new request type requires some customization of\u003Cbr \u002F>\ncode. Managing all of this, you forget about the function that you would like to implement.\u003C\u002Fp>\n\u003Cp>AJAX Manufactory plugin for WordPress have most of these tasks already solved. You can think about functionality and\u003Cbr \u002F>\nbusiness logic instead.\u003C\u002Fp>\n\u003Cp>What you can have from the box:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A simple function at the client side which allows to send any your complex data from javascript to WordPress server\u003Cbr \u002F>\nside.\u003C\u002Fli>\n\u003Cli>An AJAX response wrapper at the server side which gives to you sent data as PHP array and allows you to create\u003Cbr \u002F>\nan AJAX response as a set of simple “commands” like “make an alert”, “set up javascript variable”, “put html text to\u003Cbr \u002F>\nspecific html node(s)”, “execute a javascript function”, “go to specific URL” etc.\u003C\u002Fli>\n\u003Cli>Automatic execution of “commands” queue at the client side. Additionally you can specify your own callback.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cp>Please refer \u003Ca href=\"http:\u002F\u002Fe-wm.org\u002Fajax-manufactory\u002F#documentation\" title=\"AJAX Manufactory Documentation\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>.\u003C\u002Fp>\n","This plugin allows you to create AJAX applications by simple way. It implements JSON data transfer, data escaping, error handling.",4758,"2019-06-28T00:19:00.000Z","5.2.24","3.0.1",[108,17,109,110,111],"ajax","request","server-side","xmlrequest","http:\u002F\u002Fe-wm.org\u002Fajax-manufactory\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fajax-manufactory.zip",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":122,"downloaded":123,"rating":11,"num_ratings":11,"last_updated":124,"tested_up_to":71,"requires_at_least":125,"requires_php":15,"tags":126,"homepage":131,"download_link":132,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"lastwp","Last.wp","0.2","kylehotchkiss","https:\u002F\u002Fprofiles.wordpress.org\u002Fkylehotchkiss\u002F","\u003Cp>So do you want the world to know what you just listened to? Do you want to show it off in your… \u003Cem>WordPress sidebar\u003C\u002Fem>? I know I do! What Last.wp does is\u003Cbr \u002F>\nshow a few of the songs you just scrobbled over to Last.fm. It stands out beyond the other choices because it does it’s dirty work in Javascript (which can speed up\u003Cbr \u002F>\nyour server, because it doesn’t have to make request over to Last.fm every page load, rather your Guests computer does it). It displays album artwork, the song name,\u003Cbr \u002F>\nthe artist name, and the album name! Your guests will be AMAZED when they find your recent obsession with Conway Twitty! They’ll gasp in awe when they see how much you\u003Cbr \u002F>\nplayed the beetles within the past five minutes, and their jaws will drop when they see you’ve been spinning N-Sync albums! Wait no longer, your guests can be amazed \u003Cstrong>today\u003C\u002Fstrong>!\u003C\u002Fp>\n\u003Cp>On the technical side, Last.wp is powered by a small plugin provided by the kind people over at Engage Interactive. (Thanks for providing it under the GPL guys!). Unfortunatly,\u003Cbr \u002F>\nit requires each person to have their own API key as of now, due to Last.fm’s confusing API system. It’s easy to get one, you just login and go to the API screen, create a new\u003Cbr \u002F>\napplication, and \u003Cstrong>Voila\u003C\u002Fstrong>, your very own API key! (Consult the Instructions for details)\u003C\u002Fp>\n","Last.wp is a Wordpress widget that shows your guests what you've been listening to on Last.fm, via a jQuery plugin!",10,2968,"2010-02-04T01:53:00.000Z","2.8",[17,127,128,129,130],"last-fm","last-wp","music","widget","http:\u002F\u002Fkylehotchkiss.com\u002Fblog\u002Fproductions\u002Flast.wp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flastwp.zip",{"attackSurface":134,"codeSignals":163,"taintFlows":170,"riskAssessment":171,"analyzedAt":179},{"hooks":135,"ajaxHandlers":159,"restRoutes":160,"shortcodes":161,"cronEvents":162,"entryPointCount":11,"unprotectedCount":11},[136,142,147,152,156],{"type":137,"name":138,"callback":139,"file":140,"line":141},"action","wp_footer","maybe_prefetch","includes\\lh-register-file-class.php",129,{"type":143,"name":144,"callback":145,"priority":122,"file":140,"line":146},"filter","script_loader_tag","add_attributes",142,{"type":137,"name":148,"callback":149,"priority":122,"file":150,"line":151},"wp_enqueue_scripts","register_core_scripts","lh-localforage.php",75,{"type":137,"name":153,"callback":154,"priority":122,"file":150,"line":155},"get_footer","maybe_enqueue",78,{"type":137,"name":157,"callback":157,"file":150,"line":158},"plugins_loaded",105,[],[],[],[],{"dangerousFunctions":164,"sqlUsage":165,"outputEscaping":167,"fileOperations":11,"externalRequests":11,"nonceChecks":11,"capabilityChecks":11,"bundledLibraries":169},[],{"prepared":11,"raw":11,"locations":166},[],{"escaped":88,"rawEcho":11,"locations":168},[],[],[],{"summary":172,"deductions":173},"The static analysis of the \"lh-localforage\" v1.74 plugin reveals an exceptionally clean security posture. The absence of any identified entry points such as AJAX handlers, REST API routes, shortcodes, or cron events significantly limits the plugin's attack surface. Furthermore, the code exhibits robust security practices, with no dangerous functions, 100% use of prepared statements for SQL queries, and all outputs properly escaped. The absence of file operations, external HTTP requests, and the lack of recorded vulnerabilities or CVEs further strengthen this positive assessment. The taint analysis showing zero flows with unsanitized paths is also a very good indicator of secure coding.  \n\nWhile the plugin demonstrates excellent adherence to secure coding principles based on this static analysis, the complete lack of certain security checks, such as nonce and capability checks, on any potential entry points (even though none are currently present) could be a concern if functionality were added in the future without these safeguards. However, given the current zero attack surface, this is a hypothetical risk rather than an immediate one. The vulnerability history is completely clear, indicating a history of secure development and maintenance. Overall, the plugin presents a very low-risk profile.",[174,177],{"reason":175,"points":176},"Missing nonce checks on potential entry points",3,{"reason":178,"points":176},"Missing capability checks on potential entry points","2026-03-17T07:15:28.289Z",{"wat":181,"direct":190},{"assetPaths":182,"generatorPatterns":185,"scriptPaths":186,"versionParams":189},[183,184],"\u002Fwp-content\u002Fplugins\u002Flh-localforage\u002Fscripts\u002Flocalforage.js","\u002Fwp-content\u002Fplugins\u002Flh-localforage\u002Fscripts\u002Flh-localforage.js",[],[187,188],"scripts\u002Flocalforage.js","scripts\u002Flh-localforage.js",[],{"cssClasses":191,"htmlComments":192,"htmlAttributes":193,"restEndpoints":197,"jsGlobals":198,"shortcodeOutput":199},[],[],[194,195,196],"id=\"localforage\"","data-persist_globally","data-persist_locally",[],[],[]]