[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fpjeXF2MaJX5FihDiJGcHmBWfOGHOlRq20FR7iMVaUT8":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":22,"download_link":23,"security_score":24,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":36,"analysis":37,"fingerprints":108},"registration-wall","Registration Wall","1.0.4","emoxie","https:\u002F\u002Fprofiles.wordpress.org\u002Femoxie\u002F","\u003Cp>Looking to protect content behind a registration wall?  This is the plugin for you.  You can easily restrict content\u003Cbr \u002F>\non a per CATEGORY based level which will display a registration wall for users that are not logged in.\u003C\u002Fp>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Cp>Getting everything setup will take you less than 1 minute with these simple steps.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Step 1\u003C\u002Fstrong> Install and Activate Plugin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Step 2\u003C\u002Fstrong> Navigate to Admin->Settings->Registration Wall\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Step 3\u003C\u002Fstrong> Select which categories should be protected and click save.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>It’s that simple.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>You can now browse to your content, when you are not logged in, you will see a registration wall which you can customize.\u003C\u002Fp>\n","Quickly and easily add a registration wall to your website to protect content.",10,1248,100,1,"2021-07-13T16:10:00.000Z","5.8.13","3.8","7.2",[20,4,21],"reg-wall","regwall","https:\u002F\u002Femoxie.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fregistration-wall.1.0.4.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":32,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},2,20,93,30,89,"2026-04-05T03:35:08.350Z",[],{"attackSurface":38,"codeSignals":70,"taintFlows":97,"riskAssessment":98,"analyzedAt":107},{"hooks":39,"ajaxHandlers":66,"restRoutes":67,"shortcodes":68,"cronEvents":69,"entryPointCount":25,"unprotectedCount":25},[40,46,49,52,54,57,60,62],{"type":41,"name":42,"callback":43,"file":44,"line":45},"action","plugins_loaded","anonymous","includes\\class-registration-wall.php",42,{"type":41,"name":47,"callback":43,"file":44,"line":48},"admin_init",49,{"type":41,"name":50,"callback":43,"file":44,"line":51},"admin_enqueue_scripts",50,{"type":41,"name":50,"callback":43,"file":44,"line":53},51,{"type":41,"name":55,"callback":43,"file":44,"line":56},"admin_menu",53,{"type":41,"name":58,"callback":43,"file":44,"line":59},"wp_enqueue_scripts",61,{"type":41,"name":58,"callback":43,"file":44,"line":61},62,{"type":63,"name":64,"callback":43,"file":44,"line":65},"filter","the_content",63,[],[],[],[],{"dangerousFunctions":71,"sqlUsage":72,"outputEscaping":74,"fileOperations":25,"externalRequests":25,"nonceChecks":25,"capabilityChecks":14,"bundledLibraries":93},[],{"prepared":25,"raw":25,"locations":73},[],{"escaped":25,"rawEcho":75,"locations":76},7,[77,81,83,85,86,88,91],{"file":78,"line":79,"context":80},"admin\\partials\\settings.php",28,"raw output",{"file":78,"line":82,"context":80},29,{"file":78,"line":84,"context":80},36,{"file":78,"line":84,"context":80},{"file":78,"line":87,"context":80},79,{"file":89,"line":90,"context":80},"public\\class-registration-wall-public.php",97,{"file":89,"line":92,"context":80},105,[94],{"name":95,"version":26,"knownCves":96},"Select2",[],[],{"summary":99,"deductions":100},"The \"registration-wall\" plugin v1.0.4 exhibits a generally positive security posture based on the static analysis, with no identified dangerous functions, SQL injection vulnerabilities, file operations, or external HTTP requests. The use of prepared statements for SQL queries is a strong indicator of good database security practices.  Furthermore, the absence of recorded CVEs or a history of vulnerabilities suggests a well-maintained and secure codebase over time. The plugin also appears to have a very small attack surface, with no exposed AJAX handlers, REST API routes, shortcodes, or cron events, which significantly reduces the opportunities for external exploitation.\n\nHowever, a critical concern arises from the output escaping analysis, where 100% of the observed outputs are not properly escaped. This indicates a high risk of Cross-Site Scripting (XSS) vulnerabilities. While the plugin has only one capability check, the lack of proper output sanitization means that any data rendered to the user interface, if it originates from an untrusted source or is manipulated by an attacker, could lead to arbitrary code execution within the user's browser.\n\nIn conclusion, the plugin demonstrates excellent practices in terms of limiting its attack surface and securing database interactions. The lack of historical vulnerabilities further bolsters confidence. The singular, but significant, weakness lies in the complete absence of output escaping, which introduces a substantial XSS risk that needs immediate attention. Addressing this single vulnerability would dramatically improve the plugin's overall security. The reliance on a bundled library (Select2) also warrants a check for its current version and any known vulnerabilities, although this is not explicitly stated as a concern in the provided data.",[101,104],{"reason":102,"points":103},"100% of outputs are not properly escaped",8,{"reason":105,"points":106},"Bundled library Select2 may be outdated",3,"2026-03-17T00:35:05.177Z",{"wat":109,"direct":128},{"assetPaths":110,"generatorPatterns":117,"scriptPaths":118,"versionParams":120},[111,112,113,114,115,116],"\u002Fwp-content\u002Fplugins\u002Fregistration-wall\u002Fadmin\u002Fcss\u002Fregistration-wall-admin.css","\u002Fwp-content\u002Fplugins\u002Fregistration-wall\u002Fadmin\u002Fjs\u002Fregistration-wall-admin.js","\u002Fwp-content\u002Fplugins\u002Fregistration-wall\u002Fvendor\u002Fselect2\u002Fselect2\u002Fdist\u002Fcss\u002Fselect2.min.css","\u002Fwp-content\u002Fplugins\u002Fregistration-wall\u002Fvendor\u002Fselect2\u002Fselect2\u002Fdist\u002Fjs\u002Fselect2.min.js","\u002Fwp-content\u002Fplugins\u002Fregistration-wall\u002Fpublic\u002Fcss\u002Fregistration-wall-public.css","\u002Fwp-content\u002Fplugins\u002Fregistration-wall\u002Fpublic\u002Fjs\u002Fregistration-wall-public.js",[],[119],"vendor\u002Fselect2\u002Fselect2\u002Fdist\u002Fjs\u002Fselect2.min.js",[121,122,123,124,125,126,127],"registration-wall\u002Fstyle.css?ver=","registration-wall-admin.css?ver=","registration-wall-admin.js?ver=","select2.min.css?ver=","select2.min.js?ver=","registration-wall-public.css?ver=","registration-wall-public.js?ver=",{"cssClasses":129,"htmlComments":130,"htmlAttributes":131,"restEndpoints":132,"jsGlobals":133,"shortcodeOutput":134},[],[],[],[],[],[]]