[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f7CiYi0VfJ3I6nHXdymhwsR7elwTA9kKT72WdGWQT618":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":136,"fingerprints":205},"lh-membership-numbers","LH Membership Numbers","1.05","shawfactor","https:\u002F\u002Fprofiles.wordpress.org\u002Fshawfactor\u002F","\u003Cp>\u003Cstrong>Users of membership sites often have and use a membership number. Yet WordPress uses alpha numeric string for usernames for logging in. Why not use both by using the \u003Ca href=\"http:\u002F\u002Flhero.org\u002Fplugins\u002Flh-membership-numbers\u002F\" rel=\"nofollow ugc\">LH Membership Number plugin\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>LH Membership Numbers allows a user to login by typing in their membership number. Their membership number is the unique user ID that every user is assigned in the database. Optionally administrators can assign a prefix to the membership number (eg for my sports league \u003Ca href=\"https:\u002F\u002Fprincesparktouch.com\u002F\" rel=\"nofollow ugc\">princesparktouch.com\u003C\u002Fa> it is PPT). That prefix can make the number far more unique (globally).\u003C\u002Fp>\n","Plugin to allow users to login by a number, their user ID (optionally prefixed)",10,2445,74,3,"2018-10-29T06:34:00.000Z","4.9.29","3.0","",[20,21,22,23,24],"cards","login","members","membership","users","https:\u002F\u002Flhero.org\u002Fportfolio\u002Flh-membership-numbers\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flh-membership-numbers.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},77,14650,87,7,91,"2026-04-03T21:33:26.580Z",[40,61,78,92,114],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":55,"tags":56,"homepage":18,"download_link":59,"security_score":60,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"expire-user-passwords","Expire User Passwords","1.4.2","Matt Miller","https:\u002F\u002Fprofiles.wordpress.org\u002Fmillermedianow\u002F","\u003Cp>Note: This is a forked version of the now unsupported \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fexpire-passwords\u002F\" rel=\"ugc\">Expire Passwords\u003C\u002Fa> plugin. The notes below are copied over from the original plugin and will be updated as relevant updates become available. Please help by contributing to the GitHub repository \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMiller-Media\u002Fexpire-passwords\" rel=\"nofollow ugc\">Expire Passwords\u003C\u002Fa> on GitHub\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Did you find this plugin helpful? Please consider \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fexpire-user-passwords\" rel=\"ugc\">leaving a 5-star review\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Harden the security of your site by preventing unauthorized access to stale user accounts.\u003C\u002Fp>\n\u003Cp>This plugin is also ideal for sites needing to meet certain industry security compliances – such as government, banking or healthcare.\u003C\u002Fp>\n\u003Cp>In the plugin settings you can set the maximum number of days users are allowed to use the same password (90 days by default), as well as which user roles will be required to reset their passwords regularly (non-Administrators by default).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Languages supported:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Albanian (Shqip)\u003C\u002Fli>\n\u003Cli>Arabic (العربية)\u003C\u002Fli>\n\u003Cli>Armenian (Հայերեն)\u003C\u002Fli>\n\u003Cli>Basque (Euskara)\u003C\u002Fli>\n\u003Cli>Bengali (বাংলা)\u003C\u002Fli>\n\u003Cli>Bulgarian (Български)\u003C\u002Fli>\n\u003Cli>Catalan (Català)\u003C\u002Fli>\n\u003Cli>Chinese Simplified (简体中文)\u003C\u002Fli>\n\u003Cli>Croatian (Hrvatski)\u003C\u002Fli>\n\u003Cli>Czech (Čeština)\u003C\u002Fli>\n\u003Cli>Danish (Dansk)\u003C\u002Fli>\n\u003Cli>Dutch (Nederlands)\u003C\u002Fli>\n\u003Cli>Estonian (Eesti)\u003C\u002Fli>\n\u003Cli>Finnish (Suomi)\u003C\u002Fli>\n\u003Cli>French (Français)\u003C\u002Fli>\n\u003Cli>Galician (Galego)\u003C\u002Fli>\n\u003Cli>Georgian (ქართული)\u003C\u002Fli>\n\u003Cli>German (Deutsch)\u003C\u002Fli>\n\u003Cli>Greek (Ελληνικά)\u003C\u002Fli>\n\u003Cli>Hebrew (עברית)\u003C\u002Fli>\n\u003Cli>Hindi (हिन्दी)\u003C\u002Fli>\n\u003Cli>Hungarian (Magyar)\u003C\u002Fli>\n\u003Cli>Indonesian (Bahasa Indonesia)\u003C\u002Fli>\n\u003Cli>Irish (Gaeilge)\u003C\u002Fli>\n\u003Cli>Italian (Italiano)\u003C\u002Fli>\n\u003Cli>Japanese (日本語)\u003C\u002Fli>\n\u003Cli>Korean (한국어)\u003C\u002Fli>\n\u003Cli>Latvian (Latviešu)\u003C\u002Fli>\n\u003Cli>Lithuanian (Lietuvių)\u003C\u002Fli>\n\u003Cli>Macedonian (Македонски)\u003C\u002Fli>\n\u003Cli>Norwegian (Norsk)\u003C\u002Fli>\n\u003Cli>Persian (فارسی)\u003C\u002Fli>\n\u003Cli>Persian – Afghanistan (دری)\u003C\u002Fli>\n\u003Cli>Polish (Polski)\u003C\u002Fli>\n\u003Cli>Portuguese – Brazil (Português do Brasil)\u003C\u002Fli>\n\u003Cli>Portuguese – Portugal (Português)\u003C\u002Fli>\n\u003Cli>Romanian (Română)\u003C\u002Fli>\n\u003Cli>Russian (Русский)\u003C\u002Fli>\n\u003Cli>Serbian (Српски)\u003C\u002Fli>\n\u003Cli>Slovak (Slovenčina)\u003C\u002Fli>\n\u003Cli>Slovenian (Slovenščina)\u003C\u002Fli>\n\u003Cli>Spanish (Español)\u003C\u002Fli>\n\u003Cli>Swedish (Svenska)\u003C\u002Fli>\n\u003Cli>Tamil (தமிழ்)\u003C\u002Fli>\n\u003Cli>Thai (ไทย)\u003C\u002Fli>\n\u003Cli>Turkish (Türkçe)\u003C\u002Fli>\n\u003Cli>Ukrainian (Українська)\u003C\u002Fli>\n\u003Cli>Urdu (اردو)\u003C\u002Fli>\n\u003Cli>Vietnamese (Tiếng Việt)\u003C\u002Fli>\n\u003Cli>Welsh (Cymraeg)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Development of this plugin is done \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMiller-Media\u002Fexpire-passwords\" rel=\"nofollow ugc\">on GitHub\u003C\u002Fa>. Pull requests welcome. Please see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMiller-Media\u002Fexpire-passwords\u002Fissues\" rel=\"nofollow ugc\">issues reported\u003C\u002Fa> there before going to the plugin forum.\u003C\u002Fstrong>\u003C\u002Fp>\n","Require certain users to change their passwords on a regular basis.",3000,57937,84,5,"2026-02-17T09:27:00.000Z","6.9.4","4.0","8.1",[21,23,57,58,24],"passwords","security","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexpire-user-passwords.1.4.2.zip",100,{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":60,"num_ratings":71,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":18,"tags":75,"homepage":18,"download_link":77,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"prevent-concurrent-logins","Prevent Concurrent Logins","0.4.0","Frankie Jarrett","https:\u002F\u002Fprofiles.wordpress.org\u002Ffjarrett\u002F","\u003Cp>\u003Cstrong>Did you find this plugin helpful? Please consider \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fprevent-concurrent-logins\" rel=\"ugc\">leaving a 5-star review\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Deters members\u002Fsubscribers from sharing their accounts with others\u003C\u002Fli>\n\u003Cli>Hardens security by destoying old sessions automatically\u003C\u002Fli>\n\u003Cli>Prompts old sessions to login again if they want to continue\u003C\u002Fli>\n\u003Cli>Ideal for membership sites and web applications\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Important:\u003C\u002Fstrong> If you plan to network-activate this plugin on a multisite network, please install the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproper-network-activation\u002F\" rel=\"ugc\">Proper Network Activation\u003C\u002Fa> plugin \u003Cem>beforehand\u003C\u002Fem>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Development of this plugin is done \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffjarrett\u002Fprevent-concurrent-logins\" rel=\"nofollow ugc\">on GitHub\u003C\u002Fa>. Pull requests welcome. Please see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffjarrett\u002Fprevent-concurrent-logins\u002Fissues\" rel=\"nofollow ugc\">issues reported\u003C\u002Fa> there before going to the plugin forum.\u003C\u002Fstrong>\u003C\u002Fp>\n","Prevents users from staying logged into the same account from multiple places.",900,17293,17,"2016-08-16T22:21:00.000Z","4.6.30","4.1",[21,23,58,76,24],"sensei","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprevent-concurrent-logins.0.4.0.zip",{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":11,"downloaded":86,"rating":28,"num_ratings":28,"last_updated":87,"tested_up_to":53,"requires_at_least":88,"requires_php":18,"tags":89,"homepage":90,"download_link":91,"security_score":60,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"for-users-only","For Users Only","1.1","Gagan Deep Singh","https:\u002F\u002Fprofiles.wordpress.org\u002Fgagan0123\u002F","\u003Cp>Allows only logged in users to visit the site. If anyone tries to access any page on the frontend of the site, user will be redirected to the login page automatically.\u003C\u002Fp>\n","Allows only logged in users to visit the site.",9086,"2026-02-10T08:15:00.000Z","2.7",[21,23,24],"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffor-users-only\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffor-users-only.1.1.zip",{"slug":93,"name":94,"version":95,"author":96,"author_profile":97,"description":98,"short_description":99,"active_installs":100,"downloaded":101,"rating":102,"num_ratings":103,"last_updated":104,"tested_up_to":53,"requires_at_least":54,"requires_php":18,"tags":105,"homepage":109,"download_link":110,"security_score":111,"vuln_count":112,"unpatched_count":28,"last_vuln_date":113,"fetched_at":30},"wp-members","WP-Members Membership Plugin","3.5.6","Chad Butler","https:\u002F\u002Fprofiles.wordpress.org\u002Fcbutlerjr\u002F","\u003Cp>The original WordPress membership plugin with content restriction, user login, custom registration fields, user profiles, and more.\u003C\u002Fp>\n\u003Ch3>Membership Sites. Simplified.\u003C\u002Fh3>\n\u003Cp>You need a membership site, but you want to focus on your business, not mastering a plugin. WP-Members is simple to use, easy to set up, yet flexible in every way imaginable.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Simple to install and configure – yet customizable and scalable!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Restrict or hide posts, pages, and custom post types\u003C\u002Fli>\n\u003Cli>Limit menu items to logged in users\u003C\u002Fli>\n\u003Cli>User login, registration, and profile integrated into your theme\u003C\u002Fli>\n\u003Cli>Create custom registration and profile fields\u003C\u002Fli>\n\u003Cli>Integrate custom fields into WooCommerce checkout and registration (only supported by shortcode pages, not block editor version)\u003C\u002Fli>\n\u003Cli>Create custom memberships and content restriction\u003C\u002Fli>\n\u003Cli>Notify admin of new user registrations\u003C\u002Fli>\n\u003Cli>Hold new registrations for admin approval\u003C\u002Fli>\n\u003Cli>Create post excerpt teaser content automatically\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members\u002Fdocs\u002Fshortcodes\u002F\" rel=\"nofollow ugc\">Shortcodes for login, registration, content restriction, and more\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Create powerful customizations with \u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members\u002Fdocs\u002Ffilter-hooks\u002F\" rel=\"nofollow ugc\">more than 120 action and filter hooks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members\u002Fdocs\u002Fapi-functions\u002F\" rel=\"nofollow ugc\">A library of API functions for extensibility\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>WP-Members allows you to restrict content as restricted or hidden, limiting access to registered users.\u003C\u002Fp>\n\u003Cp>A full Users Guide is \u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members\u002Fdocs\u002F\" rel=\"nofollow ugc\">available here\u003C\u002Fa>. The guide outlines the installation process, and also documents how to use all of the settings.\u003C\u002Fp>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>There is \u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members\u002Fdocs\u002F\" rel=\"nofollow ugc\">freely available documentation on the plugin’s support site\u003C\u002Fa>. Your question may be answered there. If you need assistance configuring the plugin or have questions on how to implement or customize features, \u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fproduct\u002Fwp-members-plugin-support\u002F\" rel=\"nofollow ugc\">premium support is available\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>You can get priority support along with all of the plugin’s premium extensions in one \u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fproduct\u002Fwp-members-pro-bundle\u002F\" rel=\"nofollow ugc\">cost saving Pro Bundle!\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Premium Support\u003C\u002Fh4>\n\u003Cp>Premium support subscribers have access to priority email support, examples, tutorials, and code snippets that will help you extend and customize the base plugin using the plugin’s framework. \u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members\u002Fsupport-options\u002F\" rel=\"nofollow ugc\">Visit the site for more info\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Free Extensions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fproduct\u002Fstop-spam-registrations\u002F\" rel=\"nofollow ugc\">Stop Spam Registrations\u003C\u002Fa> – Uses stopforumspam.com’s API to block spam registrations.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fproduct\u002Fsend-test-emails\u002F\" rel=\"nofollow ugc\">Send Test Emails\u003C\u002Fa> – A utility to send test versions of the plugin’s emails.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Premium Extensions\u003C\u002Fh4>\n\u003Cp>The plugin has several premium extensions for additional functionality. You can purchase any of them individually, or get them all for a significant discount in the Pro Bundle.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members-advanced-options\u002F\" rel=\"nofollow ugc\">Advanced Options\u003C\u002Fa> – adds additional settings to WP-Members for redirecting core WP created URLs, redirecting restricted content, hiding the WP toolbar, and more! Also includes integrations with popular plugins like WooCommerce, BuddyPress, bbPress, ADF, Easy Digital Downloads, and The Events Calendar.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members-download-protect\u002F\" rel=\"nofollow ugc\">Download Protect\u003C\u002Fa> – Allows you to restrict access to specific files, requiring the user to be logged in to access.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members-invite-codes\u002F\" rel=\"nofollow ugc\">Invite Codes\u003C\u002Fa> – set up invitation codes to restrict registration to only those with a valide invite code.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members-mailchimp-integration\u002F\" rel=\"nofollow ugc\">MailChimp Integration\u003C\u002Fa> – add MailChimp list subscription to your registation form.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members-memberships-for-woocommerce\u002F\" rel=\"nofollow ugc\">Memberships for WooCommerce\u003C\u002Fa> – Sell memberships through WooCommerce.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members-paypal-subscriptions\u002F\" rel=\"nofollow ugc\">PayPal Subscriptions\u003C\u002Fa> – Sell restricted content access through PayPal.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members-security\u002F\" rel=\"nofollow ugc\">Security\u003C\u002Fa> – adds a number of security features to the plugin such as preventing concurrent logins, registration form honey pot (spam blocker), require passwords be changed on first use, require passwords to be changed after defined period of time, require strong passwords, block registration by IP and email, restrict specified usernames from being registered.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members-text-editor\u002F\" rel=\"nofollow ugc\">Text Editor\u003C\u002Fa> – Adds an editor to the WP-Members admin panel to easily customize all user facing strings in the plugin.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members-user-list\u002F\" rel=\"nofollow ugc\">User List\u003C\u002Fa> – Display lists of users on your site. Great for creating user directories with detailed and customizable profiles.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwp-members-user-tracking\u002F\" rel=\"nofollow ugc\">User Tracking\u003C\u002Fa> – Track what pages logged in users are visting and when.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fplugins\u002Fwordpass\u002F\" rel=\"nofollow ugc\">WordPass Pro\u003C\u002Fa> – Change your random password generator from gibberish to word-based passwords (can be used with or without WP-Members).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Get support along with all of the plugin’s premium extensions in one \u003Ca href=\"https:\u002F\u002Frocketgeek.com\u002Fproduct\u002Fwp-members-pro-bundle\u002F\" rel=\"nofollow ugc\">cost saving Pro Bundle!\u003C\u002Fa>\u003C\u002Fp>\n","The original WordPress membership plugin with content restriction, user login, custom registration fields, user profiles, and more.",50000,3986869,92,271,"2026-02-27T14:28:00.000Z",[106,21,23,107,108],"authentication","registration","restriction","https:\u002F\u002Frocketgeek.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-members.3.5.6.zip",88,18,"2026-03-03 18:17:29",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":122,"downloaded":123,"rating":124,"num_ratings":125,"last_updated":126,"tested_up_to":53,"requires_at_least":127,"requires_php":18,"tags":128,"homepage":131,"download_link":132,"security_score":133,"vuln_count":134,"unpatched_count":28,"last_vuln_date":135,"fetched_at":30},"simple-membership-after-login-redirection","Simple Membership After Login Redirection","2.0","wp.insider","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpinsider-1\u002F","\u003Cp>This addon allows you to configure an after login page for each of the membership access levels you create in your \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-membership\u002F\" rel=\"ugc\">simple membership plugin\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>This addon plugin will automatically redirect the members to the appropriate page after they log into your site.\u003C\u002Fp>\n\u003Cp>After you install this addon, edit your membership levels and specify the redirect pages and the addon will take care of the rest.\u003C\u002Fp>\n","An addon for the simple membership plugin to configure after login redirection to a specific page based on the member's level.",10000,217673,96,15,"2026-01-04T01:13:00.000Z","4.5",[21,129,22,23,130],"member","redirection","https:\u002F\u002Fsimple-membership-plugin.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-membership-after-login-redirection.2.0.zip",99,1,"2024-09-30 00:00:00",{"attackSurface":137,"codeSignals":182,"taintFlows":198,"riskAssessment":199,"analyzedAt":204},{"hooks":138,"ajaxHandlers":174,"restRoutes":175,"shortcodes":176,"cronEvents":181,"entryPointCount":134,"unprotectedCount":28},[139,145,150,154,157,162,166,170],{"type":140,"name":141,"callback":142,"file":143,"line":144},"action","admin_menu","plugin_menu","lh-membership-numbers.php",240,{"type":146,"name":147,"callback":148,"priority":11,"file":143,"line":149},"filter","plugin_action_links","add_settings_link",241,{"type":146,"name":151,"callback":152,"priority":11,"file":143,"line":153},"validate_username","username_restrictor",242,{"type":146,"name":155,"callback":155,"file":143,"line":156},"wpmu_validate_user_signup",243,{"type":146,"name":158,"callback":159,"priority":160,"file":143,"line":161},"authenticate","email_or_number_login_authenticate",90,250,{"type":140,"name":163,"callback":164,"file":143,"line":165},"init","register_shortcodes",253,{"type":146,"name":167,"callback":168,"file":143,"line":169},"manage_users_columns","add_membership_number_column",256,{"type":140,"name":171,"callback":172,"priority":11,"file":143,"line":173},"manage_users_custom_column","show_membership_number_column_content",257,[],[],[177],{"tag":178,"callback":179,"file":143,"line":180},"lh_membership_numbers_display_number","display_number_shortcode_output",198,[],{"dangerousFunctions":183,"sqlUsage":184,"outputEscaping":186,"fileOperations":28,"externalRequests":28,"nonceChecks":134,"capabilityChecks":134,"bundledLibraries":197},[],{"prepared":28,"raw":28,"locations":185},[],{"escaped":14,"rawEcho":187,"locations":188},4,[189,193,195,196],{"file":190,"line":191,"context":192},"partials\\option-settings.php",6,"raw output",{"file":190,"line":194,"context":192},8,{"file":190,"line":194,"context":192},{"file":190,"line":194,"context":192},[],[],{"summary":200,"deductions":201},"The \"lh-membership-numbers\" plugin version 1.05 demonstrates a generally good security posture with its current static analysis. The complete absence of dangerous functions, external HTTP requests, and file operations is a positive sign. All SQL queries are properly prepared, and the presence of nonce and capability checks mitigates common attack vectors. The limited attack surface, with only one shortcode and no unprotected entry points, further contributes to its security.\n\nHowever, the primary concern lies in the output escaping. With 43% of outputs properly escaped, there is a significant risk of Cross-Site Scripting (XSS) vulnerabilities. This means user-supplied or dynamic data could be rendered on a page without proper sanitization, allowing attackers to inject malicious scripts. The zero taint flows and lack of recorded historical vulnerabilities are positive indicators, suggesting the developers have a good understanding of secure coding practices, but the unescaped output remains a critical oversight.\n\nIn conclusion, while the plugin has a solid foundation in terms of preventing direct code execution and unauthorized access, the insufficient output escaping presents a clear and present danger. Addressing the XSS risk should be the top priority. The lack of historical vulnerabilities is encouraging but does not negate the current code analysis findings.",[202],{"reason":203,"points":194},"Insufficient output escaping","2026-03-17T00:02:41.611Z",{"wat":206,"direct":211},{"assetPaths":207,"generatorPatterns":208,"scriptPaths":209,"versionParams":210},[],[],[],[],{"cssClasses":212,"htmlComments":213,"htmlAttributes":214,"restEndpoints":215,"jsGlobals":216,"shortcodeOutput":217},[],[],[],[],[],[218],"[lh_membership_numbers_display_number]"]