[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fbF88kS9JrfhlOlwJMUEA7GNMt5LPJF7vL7KhjZKoCQs":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":37,"analysis":138,"fingerprints":732},"wordfence-login-security","Wordfence Login Security","1.1.15","wfryan","https:\u002F\u002Fprofiles.wordpress.org\u002Fwfryan\u002F","\u003Ch3>WORDFENCE LOGIN SECURITY\u003C\u002Fh3>\n\u003Cp>Wordfence Login Security contains a subset of the functionality found in the full Wordfence plugin: Two-factor Authentication, XML-RPC Protection and Login Page CAPTCHA.\u003C\u002Fp>\n\u003Cp>Are you looking for comprehensive WordPress Security? \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwordfence\u002F\" rel=\"ugc\">Check out the full Wordfence plugin\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>TWO-FACTOR AUTHENTICATION\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Two-factor authentication (2FA), one of the most secure forms of remote system authentication available.\u003C\u002Fli>\n\u003Cli>Use any TOTP-based authenticator app or service like Google Authenticator, Authy, 1Password or FreeOTP.\u003C\u002Fli>\n\u003Cli>Enable 2FA for any WordPress user role.\u003C\u002Fli>\n\u003Cli>Completely free to use, no limits or restrictions of any kind.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>LOGIN PAGE CAPTCHA\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Easily enable Google ReCAPTCHA v3 on your login and registration pages.\u003C\u002Fli>\n\u003Cli>Stops bots from logging in without inconveniencing your site visitors.\u003C\u002Fli>\n\u003Cli>Robust protection against password guessing and credential stuffing attacks distributed across large IP pools\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>XML-RPC PROTECTION\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>XML-RPC is the biggest target for WordPress attacks, but is often overlooked.\u003C\u002Fli>\n\u003Cli>Protect XML-RPC with 2FA or disable it altogether if it’s not needed.\u003C\u002Fli>\n\u003C\u002Ful>\n","Secure your website with Wordfence Login Security, providing two-factor authentication, login and registration CAPTCHA, and XML-RPC protection.",70000,1239075,80,25,"2025-01-15T17:05:00.000Z","6.7.5","4.7","7.0",[20,21,22,23,24],"2fa","captcha","login-security","security","two-factor-authentication","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwordfence-login-security.1.1.15.zip",92,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},1,30,88,"2026-04-03T18:42:18.578Z",[38,62,78,97,118],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":25,"tags":53,"homepage":25,"download_link":58,"security_score":59,"vuln_count":60,"unpatched_count":28,"last_vuln_date":61,"fetched_at":30},"dologin","DoLogin Security","4.3","WPDO","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpdo5ea\u002F","\u003Cp>In one click, your WordPress login page will be pretected with the smart brute force attack protection! Any login attempts more than 6 in 10 minutes (default value) will be limited.\u003C\u002Fp>\n\u003Cp>Limit the number of login attempts through both the login and the auth cookies.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Two-factor Authentication login.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Text SMS message passcode for 2nd step verification support.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Cloudflare Turnstile (better than Google reCAPTCHA).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>GeoLocation (Continent\u002FCountry\u002FCity) or IP range to limit login attempts.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Passwordless login link.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Support Whitelist and Blacklist.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>GDPR compliant. With this feature turned on, all logged IPs get obfuscated (md5-hashed).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>WooCommerce Login supported.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>XMLRPC gateway protection.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>API\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Call the function \u003Ccode>$link = function_exists( 'dologin_gen_link' ) ? dologin_gen_link( 'your plugin name or tag' ) : '';\u003C\u002Fcode> to generate one passwordless login link for the current user.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Call the function \u003Ccode>$link = function_exists( 'dologin_gen_link' ) ? dologin_gen_link( 'note\u002Ftip for this generation', $user_id ) : '';\u003C\u002Fcode> to generate a passwordless login link for the user which ID is \u003Ccode>$user_id\u003C\u002Fcode>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The generated one-time used link will be expired after 7 days.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Define const \u003Ccode>SILENCE_INSTALL\u003C\u002Fcode> to avoid redirecting to setting page after installtion.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>CLI\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>List all passwordless links: \u003Ccode>wp dologin list\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Generate a passwordless link for one username (for the login name \u003Ccode>root\u003C\u002Fcode>): \u003Ccode>wp dologin gen root\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Delete a passwordless link w\u002F the ID in list (for the record w\u002F ID 5): \u003Ccode>wp dologin del 5\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How GeoLocation works\u003C\u002Fh4>\n\u003Cp>When visitors hit the login page, this plugin will lookup the Geolocation info from API, compare the Geolocation setting (if has) with the whitelist\u002Fblacklist to decide if allow login attempts.\u003C\u002Fp>\n\u003Ch3>Privacy\u003C\u002Fh3>\n\u003Cp>The online IP lookup service is provided by https:\u002F\u002Fwww.doapi.us. The provider’s privacy policy is https:\u002F\u002Fwww.doapi.us\u002Fprivacy.\u003C\u002Fp>\n\u003Cp>Based on the original code from Limit Login Attemps plugin and Limit Login Attemps Reloaded plugin.\u003C\u002Fp>\n","Easy Login. 2FA login. Passwordless login. Cloudflare Turnstile reCAPTCHA. GeoLocation (Continent\u002FCountry\u002FCity)\u002FIP range to limit login attempts.",7000,162727,90,13,"2025-06-11T14:21:00.000Z","6.8.5","4.0",[54,55,56,57,22],"2fa-login","cloudflare-turnstile-recaptcha","easy-login","geolocation-login-limit","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdologin.4.3.zip",98,4,"2023-10-24 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":28,"downloaded":70,"rating":28,"num_ratings":28,"last_updated":71,"tested_up_to":51,"requires_at_least":72,"requires_php":25,"tags":73,"homepage":25,"download_link":76,"security_score":77,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"secureauth-authenticator-2fa","SecureAuth Authenticator 2FA","1.0.0","Helmi","https:\u002F\u002Fprofiles.wordpress.org\u002Fhelmimubarak\u002F","\u003Cp>\u003Cstrong>SecureAuth Authenticator 2FA\u003C\u002Fstrong> enhances your WordPress login security by requiring a time-based one-time password (TOTP) in addition to the regular username and password. The TOTP code is generated by an authenticator app on your mobile device, adding an extra layer of protection even if your password is compromised.\u003C\u002Fp>\n\u003Cp>This plugin is lightweight, secure, and easy to use. It integrates directly into the user profile page to allow users to set up and manage their two-factor authentication with ease.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Adds a TOTP (Time-Based One-Time Password) field to the login form.\u003C\u002Fli>\n\u003Cli>User-friendly 2FA setup available on each user’s profile page.\u003C\u002Fli>\n\u003Cli>Generates secret keys and displays QR codes for scanning with mobile apps.\u003C\u002Fli>\n\u003Cli>Compatible with apps like Google Authenticator, Microsoft Authenticator, and Authy.\u003C\u002Fli>\n\u003Cli>Secure handling with nonce verification and input sanitization.\u003C\u002Fli>\n\u003Cli>No external libraries required (except Google Chart API for QR code).\u003C\u002Fli>\n\u003C\u002Ful>\n","Adds TOTP-based two-factor authentication (2FA) via SecureAuth Authenticator to your WordPress login page.",265,"2025-07-09T00:00:00.000Z","5.0",[20,22,74,24,75],"totp","wordpress-security","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsecureauth-authenticator-2fa.1.0.0.zip",100,{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":86,"downloaded":87,"rating":59,"num_ratings":88,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":25,"tags":92,"homepage":25,"download_link":95,"security_score":59,"vuln_count":60,"unpatched_count":28,"last_vuln_date":96,"fetched_at":30},"limit-login-attempts-reloaded","Limit Login Attempts Reloaded – Login Security, Brute Force Protection, Firewall","2.26.28","WPChef","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpchefgadget\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.limitloginattempts.com\" rel=\"nofollow ugc\">Limit Login Attempts Reloaded\u003C\u002Fa> functions as a robust deterrent against \u003Ca href=\"https:\u002F\u002Fwww.limitloginattempts.com\u002Fcracking-the-code-unveiling-the-mechanics-behind-brute-force-attacks\u002F\" rel=\"nofollow ugc\">brute force attacks\u003C\u002Fa>, bolstering your website’s security measures and optimizing its performance. It achieves this by \u003Cstrong>restricting the number of login attempts allowed\u003C\u002Fstrong>. This applies not only to the standard login method, but also to XMLRPC, Woocommerce, and custom login pages. With more than 2.5 million active users, this plugin fulfills all your login security requirements.\u003C\u002Fp>\n\u003Cp>The plugin functions by automatically preventing further attempts from a particular Internet Protocol (IP) address and\u002For username once a predetermined limit of retries has been surpassed. This significantly weakens the effectiveness of brute force attacks on your website.\u003C\u002Fp>\n\u003Cp>By default, WordPress permits an unlimited number of login attempts, posing a vulnerability where passwords can be easily deciphered through brute force methods.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Limit Login Attempts Reloaded Premium (Try Free with \u003Ca href=\"https:\u002F\u002Fwww.limitloginattempts.com\u002Fpremium-security-zero-cost-discover-the-benefits-of-micro-cloud\u002F\" rel=\"nofollow ugc\">Micro Cloud\u003C\u002Fa>)\u003C\u002Fstrong>\u003Cbr \u002F>\nUpgrade to \u003Ca href=\"https:\u002F\u002Fwww.limitloginattempts.com\u002Fplans\u002F\" rel=\"nofollow ugc\">Limit Login Attempts Reloaded Premium\u003C\u002Fa> to extend cloud-based protection to the Limit Login Attempts Reloaded plugin, thereby enhancing your login security. The premium version includes a range of highly beneficial features, including \u003Ca href=\"https:\u002F\u002Fwww.limitloginattempts.com\u002Ffeatures\u002Fip-intelligence\u002F\" rel=\"nofollow ugc\">IP intelligence\u003C\u002Fa> to \u003Cstrong>detect, counter and deny malicious login attempts\u003C\u002Fstrong>. Your \u003Ca href=\"https:\u002F\u002Fwww.limitloginattempts.com\u002Ffailed-login-attempts-in-wordpress\u002F\" rel=\"nofollow ugc\">failed login attempts\u003C\u002Fa> will be safely neutralized in the cloud so your website can function at its optimal performance during an attack.\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\u002FJfkvIiQft14?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\u003Ch4>Features (Free Version):\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>2FA\u003C\u002Fstrong> – Coming soon.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Limit Logins\u003C\u002Fstrong> – Limit the number of retry attempts when logging in (per each IP).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable Lockout Timings\u003C\u002Fstrong> – Modify the amount of time a user or IP must wait after a lockout.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Remaining Tries\u003C\u002Fstrong> – Informs the user about the remaining retries or lockout time on the login page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lockout Email Notifications\u003C\u002Fstrong> – Informs the admin via email of lockouts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Denied Attempt Logs\u003C\u002Fstrong> – View a log of all denied attempts and lockouts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>IP & Username Safelist\u002FDenylist\u003C\u002Fstrong> – Control access to usernames and IPs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>New User Registration Protection (Micro Cloud Accounts)\u003C\u002Fstrong> – Protects default WP registration.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sucuri\u003C\u002Fstrong> compatibility.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Wordfence\u003C\u002Fstrong> compatibility.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Ultimate Member\u003C\u002Fstrong> compatibility.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WPS Hide Login\u003C\u002Fstrong> compatibility.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>MemberPress\u003C\u002Fstrong> compatibility.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>XMLRPC\u003C\u002Fstrong> gateway protection.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Woocommerce\u003C\u002Fstrong> login page protection.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multi-site compatibility\u003C\u002Fstrong> with extra MU settings.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GDPR\u003C\u002Fstrong> compliant.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom IP origins support\u003C\u002Fstrong> (Cloudflare, Sucuri, etc.).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>llar_admin\u003C\u002Fstrong> own capability.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Features (Premium Version):\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Performance Optimizer\u003C\u002Fstrong> – Offload the burden of excessive failed logins from your server to protect your server resources, resulting in improved speed and efficiency of your website.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enhanced IP Intelligence\u003C\u002Fstrong> – Identify repetitive and suspicious login attempts to detect potential brute force attacks. IPs with known malicious activity are stored and used to help prevent and counter future attacks.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enhanced Throttling\u003C\u002Fstrong> – Longer lockout intervals each time a malicious IP or username tries to login unsuccessfully.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Deny By Country\u003C\u002Fstrong> – \u003Ca href=\"https:\u002F\u002Fwww.limitloginattempts.com\u002Fblock-logins-by-country-in-wordpress\u002F\" rel=\"nofollow ugc\">Block logins by country\u003C\u002Fa> by simply selecting the countries you want to deny.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto IP Denylist\u003C\u002Fstrong> – Automatically add IP addresses to your active cloud deny list that repeatedly fail login attempts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>New User Registration Protection\u003C\u002Fstrong> – Protects default WP registration.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Global Denylist Protection\u003C\u002Fstrong> – Utilize our active cloud IP data from thousands of websites in the LLAR network.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Synchronized Lockouts\u003C\u002Fstrong> –  Lockout IP data can be shared between multiple domains for enhanced protection in your network.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Synchronized Safelist\u002FDenylist\u003C\u002Fstrong> – Safelist\u002FDenylist IP and username data can be shared between multiple domains.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Premium Support\u003C\u002Fstrong> – Email support with a security tech.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto Backups of All IP Data\u003C\u002Fstrong> – Store your active IP data in the cloud.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Successful Logins Log\u003C\u002Fstrong> – Store successful logins in the cloud including IP info, city, state and lat\u002Flong.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enhanced lockout logs\u003C\u002Fstrong> – Gain valuable insights into the origins of IPs that are attempting logins.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CSV Download of IP Data\u003C\u002Fstrong> – Download IP data direclty from the cloud.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Supports IPV6 Ranges For Safelist\u002FDenylist\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unlock The Locked Admin\u003C\u002Fstrong> – Easily \u003Ca href=\"https:\u002F\u002Fwww.limitloginattempts.com\u002Fhow-to-unlock-your-site-if-you-are-locked-out-by-limit-login-attempts-reloaded\u002F\" rel=\"nofollow ugc\">unlock the locked admin\u003C\u002Fa> through the cloud.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>*Some features require higher level plans.\u003C\u002Fp>\n\u003Ch4>Upgrading from the old Limit Login Attempts plugin?\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Go to the Plugins section in your site’s backend.\u003C\u002Fli>\n\u003Cli>Remove the Limit Login Attempts plugin.\u003C\u002Fli>\n\u003Cli>Install the Limit Login Attempts Reloaded plugin.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>All your settings will be kept intact!\u003C\u002Fp>\n\u003Cp>Many languages are currently supported in the Limit Login Attempts Reloaded plugin but we welcome any additional ones.\u003C\u002Fp>\n\u003Cp>Help us bring Limit Login Attempts Reloaded to even more countries.\u003C\u002Fp>\n\u003Cp>Translations: Bulgarian, Brazilian Portuguese, Catalan, Chinese (Traditional), Czech, Dutch, Finnish, French, German, Hungarian, Norwegian, Persian, Romanian, Russian, Spanish, Swedish, Turkish\u003C\u002Fp>\n\u003Cp>Plugin uses standard actions and filters only.\u003C\u002Fp>\n\u003Cp>Based on the original code from Limit Login Attempts plugin by Johan Eenfeldt.\u003C\u002Fp>\n\u003Ch4>Branding Guidelines\u003C\u002Fh4>\n\u003Cp>Limit Login Attempts Reloaded™ is a trademark of Atlantic Silicon Inc. When writing about the plugin, please make sure to use Reloaded after Limit Login Attempts. Limit Login Attempts is the old plugin.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Limit Login Attempts Reloaded (correct)\u003C\u002Fli>\n\u003Cli>Limit Login Attempts (incorrect)\u003C\u002Fli>\n\u003C\u002Ful>\n","Block excessive login attempts and protect your site against brute force attacks. Simple, yet powerful tools to improve site performance.",2000000,79399145,1441,"2026-01-12T16:01:00.000Z","6.9.4","3.0",[20,93,94,22,23],"brute-force","firewall","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flimit-login-attempts-reloaded.2.26.28.zip","2023-12-20 00:00:00",{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":105,"downloaded":106,"rating":107,"num_ratings":108,"last_updated":109,"tested_up_to":90,"requires_at_least":72,"requires_php":110,"tags":111,"homepage":113,"download_link":114,"security_score":115,"vuln_count":116,"unpatched_count":28,"last_vuln_date":117,"fetched_at":30},"all-in-one-wp-security-and-firewall","All-In-One Security (AIOS) – Security and Firewall","5.4.6","David Anderson \u002F Team Updraft","https:\u002F\u002Fprofiles.wordpress.org\u002Fdavidanderson\u002F","\u003Ch3>THE TOP RATED WORDPRESS SECURITY AND FIREWALL PLUGIN\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fteamupdraft.com\u002Fall-in-one-security?utm_source=aios-wp-dir&utm_medium=referral&utm_campaign=plugin-dir&utm_content=aios&utm_creative_format=description\" rel=\"nofollow ugc\">All-in-One Security (AIOS)\u003C\u002Fa> is a WordPress security plugin from the same, trusted team that brought you UpdraftPlus.\u003C\u002Fp>\n\u003Cp>It’s called ‘All-In-One’ because it’s packed full of ways to keep your WordPress website(s) safe and secure.\u003C\u002Fp>\n\u003Cp>It includes:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Login security features\u003C\u002Fstrong> keep bots at bay. Lock out users based on a configurable number of login attempts, get two-factor authentication and more.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>File and database security.\u003C\u002Fstrong> Get notified of file changes that occur outside of normal operations. Block access to key files and scan files and folders to spot insecure permissions.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Firewall.\u003C\u002Fstrong> Get PHP, .htaccess and 6G firewall rules courtesy of Perishable Press. Spot and block fake Google Bots and more!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Spam prevention.\u003C\u002Fstrong> Prevent annoying spam comments and reduce unnecessary load on the server. Automatically and permanently block IP addresses that exceed a set number of spam comments.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Audit log.\u003C\u002Fstrong> View events happening on your WordPress website. Find out if a plugin or theme has been added, removed, updated and more.\u003C\u002Fp>\n\u003Ch4>WHY ALL-IN-ONE SECURITY?\u003C\u002Fh4>\n\u003Cp>AIOS has a near-perfect \u003Cstrong>4.7 \u002F 5-star user rating\u003C\u002Fstrong> across more than 1 million installs.\u003C\u002Fp>\n\u003Cp>Great for beginners and experts alike. AIOS guides you logically and clearly through each of its features which are all clearly explained. Security features are marked as basic, intermediate and advanced. Each step increases your security score. Turn them on and watch your protection grow!\u003C\u002Fp>\n\u003Cp>We have a large support team of software developers. That means we have the availability and the skillset to help you with the trickiest of queries.\u003C\u002Fp>\n\u003Cp>We comb the WordPress plugin directory for support tickets daily – most queries are responded to within 24 hours.\u003C\u002Fp>\n\u003Cp>\u003Cem>Excellent plugin with numerous well-thought-out options for making a website more secure. I have been using it for years and am very happy with it. I recently had a small problem setting up a website and – even as a non-premium user – I received support very quickly. Highly recommended!\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>For even more ways to stay safe and secure, upgrade to \u003Ca href=\"https:\u002F\u002Fteamupdraft.com\u002Fall-in-one-security\u002Fpricing?utm_source=aios-wp-dir&utm_medium=referral&utm_campaign=plugin-dir&utm_content=aios_premium&utm_creative_format=description\" rel=\"nofollow ugc\">AIOS Premium\u003C\u002Fa> – it packs a punch security-wise, whilst being \u003Cstrong>extremely cost-competitive\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>LOGIN SECURITY\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Two-factor authentication (TFA)\u003C\u002Fstrong> – Require TFA for specific user roles. Supports Google Authenticator, Microsoft Authenticator, Authy, and many more.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Detect and manage ‘admin’ usernames\u003C\u002Fstrong> – Identify default ‘admin’ usernames and guide users to change them to protect against brute force attacks.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Identify and correct identical login and display names\u003C\u002Fstrong> – Detect cases where the display name matches the username and provide guidance to improve login security.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Prevent user enumeration\u003C\u002Fstrong> – Block unauthorised access to URLs that can reveal sensitive information such as usernames or other details.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Control login attempts\u003C\u002Fstrong> – Prevent brute force attacks by limiting the number of failed login attempts. Choose how many login attempts are allowed, set lockout durations, and more.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Force user logout\u003C\u002Fstrong> – Automatically log out users after a specified period of time. Unattended sessions are closed, reducing the risk of unauthorised access.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Manually approve new registrations\u003C\u002Fstrong> – Review and approve new user registrations to prevent spam and fake sign-ups.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Enhance WordPress salt security\u003C\u002Fstrong> – Adds 64 extra characters to WordPress salts, rotating them weekly. Makes cracking passwords virtually impossible, even if your database is stolen.\u003C\u002Fp>\n\u003Ch4>Plugin Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>If you have a question or problem with the All-In-One Security plugin, post it on the support forum and we will help you. Premium customers can log queries directly with the team via https:\u002F\u002Fteamupdraft.com\u002Fall-in-one-security\u002F\u003Cbr \u002F>\n\u003Cstrong>Monitor and manage active sessions\u003C\u002Fstrong> – If a user is logged in who shouldn’t be, log them out or add them to a blacklist.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>SPAM PREVENTION\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Block spam coming from bots\u003C\u002Fstrong> – Reduce the load on your server and improve the user experience by automatically blocking spam comments from bots.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Monitor spam IP addresses\u003C\u002Fstrong> – Monitor the IP addresses of people or bots leaving spam comments. Choose which ones to block based on a configurable number of comments left.\u003C\u002Fp>\n\u003Ch4>FILE \u002F DATABASE Security\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Scan and fix file permissions\u003C\u002Fstrong> – Scan for insecure file permissions. Click once to fix issues and safeguard critical files and folders.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Disable PHP file editing\u003C\u002Fstrong> – Disable editing of PHP files (such as plugins and themes) via the dashboard. It’s often the first tool that attackers use as it allows for code execution.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Protect sensitive files\u003C\u002Fstrong> – Prevent access to files like readme.html that might reveal information about your WordPress installation.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>File change scanner\u003C\u002Fstrong> – Get notified of any file changes which occur on your system. Exclude files and folders which change as part of normal operations.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Prevent image hotlinking\u003C\u002Fstrong> – Prevent other websites from displaying your images via hotlinking and protect server bandwidth.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Secure database backups\u003C\u002Fstrong> – Perform a database backup via UpdraftPlus from AIOS. Change the default ‘wp_’ prefix to hide your WordPress database from hackers.\u003C\u002Fp>\n\u003Ch4>FIREWALL\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Get .htaccess firewall rules\u003C\u002Fstrong> – Deny access to the .htaccess and wp-config.php files. Disable the server signature and limit file uploads to a configurable size.**\u003C\u002Fp>\n\u003Cp>Block access to the debug.log file and prevent Apache servers from listing the contents of a directory when an index.php file is not present\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Get PHP firewall rules\u003C\u002Fstrong> – PHP firewall rules prevent malicious users from exploiting well-known vulnerabilities in XML-RPC. Safeguard your content by disabling RSS and Atom feeds and avoid cross-site scripting (XSS) attacks.\u003Cbr \u002F>\nBlock fake Google bots and POST requests made by bots – Block fake Google bots and stop bots from making POST requests by blocking IP addresses where the user-agent and referrer fields are blank.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Utilise 6G firewall rules\u003C\u002Fstrong> – Employ flexible blacklist rules to reduce the number of malicious URL requests that hit your website (courtesy of Perishable Press).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>And more\u003C\u002Fstrong> – Blacklist (and whitelist) IP ranges and user agents and block unauthorized access to data by disabling REST API access for non-logged-in requests.\u003C\u002Fp>\n\u003Ch4>TWO-FACTOR AUTHENTICATION ENHANCED [Premium]\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Two-factor authentication\u003C\u002Fstrong> is included in the free plugin. Upgrade to Premium if you’d like to:\u003Cbr \u002F>\nRequire TFA after a set time period – Mandate TFA for all admins or other roles after their accounts reach a specified age.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Control how often TFA is required\u003C\u002Fstrong> – Set TFA to be required after a certain number of days on trusted devices instead of every login.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Customise design layout\u003C\u002Fstrong> – Adjust the TFA design to match your website’s existing layout and branding.\u003Cbr \u002F>\nEmergency codes – Generate one-time use emergency codes to regain access if you lose your TFA device.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WordPress Multisite Compatible\u003C\u002Fstrong> – Ensure compatibility with WordPress multisite networks and their sub-sites for consistent TFA application.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Integration with login forms\u003C\u002Fstrong> – Integrate TFA with various login forms, including WooCommerce, Affiliates-WP, Elementor Pro, bbPress, and ‘Theme My Login’ without additional coding.\u003C\u002Fp>\n\u003Ch4>SMART 404 BLOCKING [Premium]\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Block IPs based on 404 errors\u003C\u002Fstrong> – Detect hackers probing your URLs via script and bots by the 404 errors they leave behind.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Smart 404 Configuration\u003C\u002Fstrong> – Set a figure for the maximum number of 404 events allowed before an IP address is blocked. Choose a time period within which the 404 events must occur (e.g., 10 errors within 10 minutes).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Smart 404 block by URL string\u003C\u002Fstrong> – Instantly block an IP address if a 404 event includes a specific URL string.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Smart 404 whitelisting\u003C\u002Fstrong> – Prevent particular IP addresses from being permanently blocked due to 404 events.\u003C\u002Fp>\n\u003Ch4>COUNTRY BLOCKING [Premium]\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Block traffic to the entire site or to specific pages or posts\u003C\u002Fstrong> – Useful if you’re an e-commerce site and you want to block sales to some countries for shipping or tax reasons.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Whitelist some users from blocked countries\u003C\u002Fstrong> – Whitelist IP addresses or IP ranges even if they are part of a blocked country.\u003C\u002Fp>\n\u003Ch4>MALWARE SCANNING [Premium]\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Automatic malware scanning\u003C\u002Fstrong> – Detect and protect against the latest malware, trojans, and spyware.\u003Cbr \u002F>\nAlerts you to blacklisting by search engines – Monitor your site for blacklisting by search engines due to malicious code.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Response time monitoring\u003C\u002Fstrong> – Keep track of your website’s response time to identify and address any performance issues.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Uptime monitoring\u003C\u002Fstrong> – Checks your website’s uptime every 5 minutes and alerts you immediately if your site or server goes down.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Advice and malware removal\u003C\u002Fstrong> – Need hands-on advice and support for malware removal? Our team of genuine cybersecurity experts is here to help.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Notification if something’s amiss\u003C\u002Fstrong> – Receive notifications about any issues with your site so you can address problems before they escalate.\u003C\u002Fp>\n\u003Ch4>Plugin Support\u003C\u002Fh4>\n\u003Cp>If you have a question or problem with the All-In-One Security plugin, post it on the support forum and we will help you. Premium customers can log queries directly with the team via https:\u002F\u002Fteamupdraft.com\u002Fall-in-one-security\u003C\u002Fp>\n\u003Ch4>Developers\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>If you are a developer and you need some extra hooks or filters for this plugin then let us know.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>All-In-One Security plugin can be translated to any language.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Currently available translations:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>German\u003C\u002Fli>\n\u003Cli>Spanish\u003C\u002Fli>\n\u003Cli>French\u003C\u002Fli>\n\u003Cli>Hungarian\u003C\u002Fli>\n\u003Cli>Italian\u003C\u002Fli>\n\u003Cli>Swedish\u003C\u002Fli>\n\u003Cli>Russian\u003C\u002Fli>\n\u003Cli>Chinese\u003C\u002Fli>\n\u003Cli>Portuguese (Brazil)\u003C\u002Fli>\n\u003Cli>Persian\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Privacy Policy\u003C\u002Fh4>\n\u003Cp>This plugin may collect IP addresses for security reasons such as mitigating brute force login threats and malicious activity.\u003C\u002Fp>\n\u003Cp>The collected information is stored on your server. No information is transmitted to third parties or remote server locations.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>Go to the settings menu after you activate the plugin and follow the instructions.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Go to the settings menu after you activate the plugin and follow the instructions.\u003C\u002Fp>\n","Protect your website investment with All-In-One Security (AIOS) – a comprehensive and easy to use security plugin designed especially for WordPress.",1000000,36139406,94,1693,"2026-01-28T22:15:00.000Z","5.6",[94,22,112,23,24],"malware-scanning","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fall-in-one-wp-security-and-firewall\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fall-in-one-wp-security-and-firewall.5.4.6.zip",93,26,"2024-02-08 00:00:00",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":126,"downloaded":127,"rating":128,"num_ratings":129,"last_updated":130,"tested_up_to":51,"requires_at_least":131,"requires_php":25,"tags":132,"homepage":25,"download_link":136,"security_score":77,"vuln_count":33,"unpatched_count":28,"last_vuln_date":137,"fetched_at":30},"cartpauj-register-captcha","Cartpauj Register Captcha","2.0.1","cartpauj","https:\u002F\u002Fprofiles.wordpress.org\u002Fcartpauj\u002F","\u003Cp>Cartpauj Register Captcha does one simple task. It prevents SPAM signups through WordPress’s default registration form. There are no settings to configure. Just activate and watch those SPAM sign-ups fade away! Requires openssl PHP library.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Adds CAPTCHA to the WordPress register sign-up form.\u003C\u002Fli>\n\u003Cli>NO settings or configurations to deal with.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Note\u003C\u002Fh3>\n\u003Cp>Built with a modified version of Phoca Captcha PHP library\u003Cbr \u002F>\nIcon by \u003Ca href=\"http:\u002F\u002Fwww.flaticon.com\u002Fauthors\u002Ffreepik\" rel=\"nofollow ugc\">Freepik\u003C\u002Fa>\u003C\u002Fp>\n","Cartpauj Register Captcha does one simple task. It prevents SPAM signups through WordPress' default registration form.",1000,38872,84,24,"2025-05-20T23:09:00.000Z","6.0",[21,22,133,134,135],"protection","recaptcha","turnstile","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcartpauj-register-captcha.2.0.1.zip","2023-08-21 00:00:00",{"attackSurface":139,"codeSignals":326,"taintFlows":626,"riskAssessment":724,"analyzedAt":731},{"hooks":140,"ajaxHandlers":317,"restRoutes":318,"shortcodes":319,"cronEvents":320,"entryPointCount":28,"unprotectedCount":28},[141,147,150,155,160,165,169,174,179,184,188,192,196,200,204,207,210,213,216,219,224,228,231,235,239,244,248,252,256,259,263,266,270,274,276,279,282,286,289,292,296,300,304,307,310,312,315],{"type":142,"name":143,"callback":144,"file":145,"line":146},"action","network_admin_notices","display_notice","classes\\controller\\notices.php",127,{"type":142,"name":148,"callback":144,"file":145,"line":149},"admin_notices",130,{"type":142,"name":151,"callback":152,"file":153,"line":154},"wordfence_ls_role_sync_cron","_role_sync_cron","classes\\controller\\permissions.php",56,{"type":142,"name":156,"callback":157,"priority":158,"file":153,"line":159},"wp_initialize_site","_wp_initialize_site",99,63,{"type":142,"name":161,"callback":162,"priority":163,"file":153,"line":164},"wpmu_new_blog","_wpmu_new_blog",10,66,{"type":142,"name":166,"callback":167,"priority":33,"file":153,"line":168},"init","_validate_role_sync_cron",69,{"type":142,"name":170,"callback":171,"file":172,"line":173},"wordfence_ls_ntp_cron","_wordfence_ls_ntp_cron","classes\\controller\\time.php",41,{"type":142,"name":175,"callback":176,"file":177,"line":178},"deleted_user","_deleted_user","classes\\controller\\users.php",502,{"type":180,"name":181,"callback":182,"file":177,"line":183},"filter","manage_users_columns","_manage_users_columns",503,{"type":180,"name":185,"callback":186,"priority":163,"file":177,"line":187},"manage_users_custom_column","_manage_users_custom_column",504,{"type":180,"name":189,"callback":190,"priority":163,"file":177,"line":191},"manage_users_sortable_columns","_manage_users_sortable_columns",505,{"type":180,"name":193,"callback":194,"file":177,"line":195},"users_list_table_query_args","_users_list_table_query_args",506,{"type":180,"name":197,"callback":198,"priority":163,"file":177,"line":199},"user_row_actions","_user_row_actions",507,{"type":180,"name":201,"callback":202,"file":177,"line":203},"views_users","_views_users",508,{"type":180,"name":205,"callback":182,"file":177,"line":206},"manage_users-network_columns",511,{"type":180,"name":208,"callback":186,"priority":163,"file":177,"line":209},"manage_users-network_custom_column",512,{"type":180,"name":211,"callback":190,"priority":163,"file":177,"line":212},"manage_users-network_sortable_columns",513,{"type":180,"name":214,"callback":198,"priority":163,"file":177,"line":215},"ms_user_row_actions",514,{"type":180,"name":217,"callback":202,"file":177,"line":218},"views_users-network",515,{"type":180,"name":220,"callback":221,"file":222,"line":223},"xmlrpc_enabled","_block_xml_rpc","classes\\controller\\wordfencels.php",52,{"type":142,"name":225,"callback":226,"file":222,"line":227},"admin_init","_admin_init",55,{"type":142,"name":229,"callback":230,"file":222,"line":154},"login_enqueue_scripts","_login_enqueue_scripts",{"type":180,"name":232,"callback":233,"priority":14,"file":222,"line":234},"authenticate","_authenticate",57,{"type":142,"name":236,"callback":237,"priority":14,"file":222,"line":238},"set_logged_in_cookie","_set_logged_in_cookie",58,{"type":142,"name":240,"callback":241,"priority":242,"file":222,"line":243},"wp_login","_record_login",999,59,{"type":142,"name":245,"callback":246,"priority":14,"file":222,"line":247},"register_post","_register_post",60,{"type":180,"name":249,"callback":250,"priority":14,"file":222,"line":251},"wp_login_errors","_wp_login_errors",61,{"type":142,"name":253,"callback":254,"file":222,"line":255},"user_new_form","_user_new_form",65,{"type":142,"name":257,"callback":258,"file":222,"line":164},"user_register","_user_register",{"type":142,"name":260,"callback":261,"file":222,"line":262},"admin_menu","_admin_menu",73,{"type":142,"name":264,"callback":261,"file":222,"line":265},"network_admin_menu",75,{"type":142,"name":267,"callback":268,"file":222,"line":269},"admin_enqueue_scripts","_admin_enqueue_scripts",77,{"type":142,"name":271,"callback":272,"priority":28,"file":222,"line":273},"show_user_profile","_edit_user_profile",79,{"type":142,"name":275,"callback":272,"priority":28,"file":222,"line":13},"edit_user_profile",{"type":142,"name":166,"callback":277,"file":222,"line":278},"_wordpress_init",82,{"type":142,"name":280,"callback":281,"file":222,"line":128},"wp_enqueue_scripts","_handle_shortcode_prerequisites",{"type":142,"name":283,"callback":284,"file":222,"line":285},"woocommerce_before_customer_login_form","_woocommerce_login_enqueue_scripts",97,{"type":142,"name":287,"callback":288,"file":222,"line":59},"woocommerce_before_checkout_form","_woocommerce_checkout_login_enqueue_scripts",{"type":142,"name":290,"callback":291,"priority":163,"file":222,"line":158},"wp_loaded","_handle_woocommerce_registration",{"type":180,"name":293,"callback":294,"file":222,"line":295},"woocommerce_account_menu_items","_woocommerce_account_menu_items",102,{"type":180,"name":297,"callback":298,"file":222,"line":299},"woocommerce_account_wordfence-2fa_endpoint","_woocommerce_account_menu_content",103,{"type":180,"name":301,"callback":302,"file":222,"line":303},"woocommerce_get_query_vars","_woocommerce_get_query_vars",104,{"type":142,"name":280,"callback":305,"file":222,"line":306},"_woocommerce_account_enqueue_assets",105,{"type":142,"name":143,"callback":308,"file":222,"line":309},"_jetpack_xml_rpc_notice",161,{"type":142,"name":148,"callback":308,"file":222,"line":311},164,{"type":142,"name":143,"callback":313,"file":222,"line":314},"_recaptcha_test_notice",170,{"type":142,"name":148,"callback":313,"file":222,"line":316},173,[],[],[],[321,323,325],{"hook":151,"callback":151,"file":153,"line":322},108,{"hook":151,"callback":151,"file":153,"line":324},113,{"hook":170,"callback":170,"file":172,"line":116},{"dangerousFunctions":327,"sqlUsage":336,"outputEscaping":378,"fileOperations":620,"externalRequests":620,"nonceChecks":620,"capabilityChecks":621,"bundledLibraries":622},[328,333],{"fn":329,"file":330,"line":331,"context":332},"unserialize","classes\\utility\\serialization.php",18,"$unserialized = @unserialize($data);",{"fn":329,"file":330,"line":334,"context":335},21,"$unserialized = @unserialize($data, $options);",{"prepared":337,"raw":338,"locations":339},53,16,[340,343,345,348,350,352,354,357,359,361,364,366,368,370,373,376],{"file":341,"line":265,"context":342},"classes\\controller\\db.php","$wpdb->query() with variable interpolation",{"file":341,"line":344,"context":342},89,{"file":153,"line":346,"context":347},162,"$wpdb->get_col() with variable interpolation",{"file":153,"line":349,"context":347},177,{"file":153,"line":351,"context":347},280,{"file":153,"line":353,"context":347},306,{"file":177,"line":355,"context":356},208,"$wpdb->get_var() with variable interpolation",{"file":177,"line":358,"context":356},354,{"file":177,"line":360,"context":342},399,{"file":177,"line":362,"context":363},417,"$wpdb->get_results() with variable interpolation",{"file":177,"line":365,"context":356},494,{"file":177,"line":367,"context":347},592,{"file":177,"line":369,"context":356},1093,{"file":371,"line":372,"context":363},"classes\\model\\settings\\db.php",76,{"file":374,"line":375,"context":363},"classes\\utility\\multisite.php",35,{"file":374,"line":377,"context":363},38,{"escaped":379,"rawEcho":380,"locations":381},484,145,[382,384,386,388,390,392,394,396,399,402,405,407,409,412,414,416,419,420,421,424,425,427,429,431,432,433,435,436,437,438,439,441,442,443,446,448,449,450,451,453,454,457,458,460,461,462,463,464,465,466,469,471,473,474,476,479,481,483,484,485,488,490,492,493,494,495,498,500,501,503,504,506,508,509,511,513,514,516,518,520,522,523,524,525,527,529,531,533,535,536,537,538,539,540,542,543,544,545,546,547,548,550,552,554,556,557,558,560,561,562,564,566,568,569,571,572,573,574,575,577,579,582,584,586,588,589,590,591,593,595,597,599,600,602,604,606,608,610,612,614,615,616,617,618,619],{"file":222,"line":365,"context":383},"raw output",{"file":222,"line":385,"context":383},497,{"file":222,"line":387,"context":383},509,{"file":222,"line":389,"context":383},516,{"file":222,"line":391,"context":383},924,{"file":222,"line":393,"context":383},1018,{"file":222,"line":395,"context":383},1073,{"file":397,"line":398,"context":383},"classes\\model\\notice.php",31,{"file":400,"line":401,"context":383},"classes\\model\\style.php",27,{"file":403,"line":404,"context":383},"classes\\model\\text\\javascript.php",32,{"file":406,"line":14,"context":383},"views\\common\\modal-prompt.php",{"file":406,"line":408,"context":383},33,{"file":410,"line":411,"context":383},"views\\common\\reset-grace-period.php",47,{"file":410,"line":413,"context":383},48,{"file":410,"line":415,"context":383},64,{"file":417,"line":418,"context":383},"views\\common\\revoke-grace-period.php",37,{"file":417,"line":377,"context":383},{"file":417,"line":223,"context":383},{"file":422,"line":423,"context":383},"views\\email\\login-verification.php",12,{"file":422,"line":49,"context":383},{"file":426,"line":401,"context":383},"views\\manage\\activate.php",{"file":426,"line":428,"context":383},42,{"file":426,"line":430,"context":383},62,{"file":426,"line":430,"context":383},{"file":426,"line":269,"context":383},{"file":426,"line":434,"context":383},78,{"file":426,"line":13,"context":383},{"file":426,"line":344,"context":383},{"file":426,"line":306,"context":383},{"file":426,"line":306,"context":383},{"file":426,"line":440,"context":383},120,{"file":426,"line":440,"context":383},{"file":426,"line":149,"context":383},{"file":444,"line":445,"context":383},"views\\manage\\code.php",28,{"file":447,"line":445,"context":383},"views\\manage\\deactivate.php",{"file":447,"line":164,"context":383},{"file":447,"line":265,"context":383},{"file":447,"line":265,"context":383},{"file":452,"line":375,"context":383},"views\\manage\\grace-period.php",{"file":452,"line":411,"context":383},{"file":455,"line":456,"context":383},"views\\manage\\regenerate.php",23,{"file":455,"line":164,"context":383},{"file":455,"line":459,"context":383},68,{"file":455,"line":168,"context":383},{"file":455,"line":269,"context":383},{"file":455,"line":13,"context":383},{"file":455,"line":128,"context":383},{"file":455,"line":27,"context":383},{"file":455,"line":27,"context":383},{"file":467,"line":468,"context":383},"views\\options\\option-captcha-threshold.php",91,{"file":467,"line":470,"context":383},117,{"file":472,"line":14,"context":383},"views\\options\\option-ip-source.php",{"file":472,"line":34,"context":383},{"file":475,"line":445,"context":383},"views\\options\\option-label.php",{"file":477,"line":478,"context":383},"views\\options\\option-ntp.php",15,{"file":477,"line":480,"context":383},43,{"file":477,"line":482,"context":383},44,{"file":477,"line":459,"context":383},{"file":477,"line":168,"context":383},{"file":486,"line":487,"context":383},"views\\options\\option-roles.php",71,{"file":486,"line":489,"context":383},106,{"file":486,"line":491,"context":383},110,{"file":486,"line":324,"context":383},{"file":486,"line":440,"context":383},{"file":486,"line":440,"context":383},{"file":496,"line":497,"context":383},"views\\options\\option-select.php",22,{"file":499,"line":401,"context":383},"views\\options\\option-switch.php",{"file":499,"line":34,"context":383},{"file":499,"line":502,"context":383},34,{"file":499,"line":418,"context":383},{"file":505,"line":34,"context":383},"views\\options\\option-text.php",{"file":507,"line":502,"context":383},"views\\options\\option-textarea.php",{"file":507,"line":418,"context":383},{"file":507,"line":510,"context":383},49,{"file":512,"line":404,"context":383},"views\\options\\option-toggled-boolean-switch.php",{"file":512,"line":375,"context":383},{"file":515,"line":456,"context":383},"views\\options\\option-toggled-multiple.php",{"file":517,"line":334,"context":383},"views\\options\\option-toggled-segmented.php",{"file":519,"line":401,"context":383},"views\\options\\option-toggled-select.php",{"file":521,"line":482,"context":383},"views\\options\\option-toggled-sub.php",{"file":521,"line":482,"context":383},{"file":521,"line":223,"context":383},{"file":521,"line":223,"context":383},{"file":526,"line":129,"context":383},"views\\options\\option-toggled-textarea.php",{"file":528,"line":116,"context":383},"views\\options\\option-toggled.php",{"file":528,"line":530,"context":383},29,{"file":532,"line":14,"context":383},"views\\options\\option-token.php",{"file":534,"line":331,"context":383},"views\\page\\manage-embedded.php",{"file":534,"line":331,"context":383},{"file":534,"line":401,"context":383},{"file":534,"line":530,"context":383},{"file":534,"line":398,"context":383},{"file":534,"line":377,"context":383},{"file":534,"line":541,"context":383},40,{"file":534,"line":413,"context":383},{"file":534,"line":337,"context":383},{"file":534,"line":227,"context":383},{"file":534,"line":430,"context":383},{"file":534,"line":415,"context":383},{"file":534,"line":487,"context":383},{"file":534,"line":549,"context":383},72,{"file":534,"line":551,"context":383},74,{"file":553,"line":428,"context":383},"views\\page\\manage.php",{"file":553,"line":555,"context":383},51,{"file":553,"line":164,"context":383},{"file":553,"line":265,"context":383},{"file":553,"line":559,"context":383},85,{"file":553,"line":322,"context":383},{"file":553,"line":322,"context":383},{"file":553,"line":563,"context":383},112,{"file":553,"line":565,"context":383},115,{"file":553,"line":567,"context":383},118,{"file":553,"line":567,"context":383},{"file":570,"line":423,"context":383},"views\\page\\page.php",{"file":570,"line":331,"context":383},{"file":570,"line":401,"context":383},{"file":570,"line":34,"context":383},{"file":570,"line":404,"context":383},{"file":576,"line":423,"context":383},"views\\page\\section-title.php",{"file":576,"line":578,"context":383},14,{"file":580,"line":581,"context":383},"views\\page\\settings.php",11,{"file":580,"line":583,"context":383},20,{"file":585,"line":173,"context":383},"views\\settings\\options.php",{"file":585,"line":587,"context":383},46,{"file":585,"line":238,"context":383},{"file":585,"line":551,"context":383},{"file":585,"line":295,"context":383},{"file":585,"line":592,"context":383},114,{"file":585,"line":594,"context":383},129,{"file":585,"line":596,"context":383},142,{"file":585,"line":598,"context":383},171,{"file":585,"line":349,"context":383},{"file":585,"line":601,"context":383},183,{"file":585,"line":603,"context":383},211,{"file":585,"line":605,"context":383},225,{"file":585,"line":607,"context":383},231,{"file":585,"line":609,"context":383},237,{"file":585,"line":611,"context":383},249,{"file":613,"line":587,"context":383},"views\\settings\\user-stats.php",{"file":613,"line":411,"context":383},{"file":613,"line":413,"context":383},{"file":613,"line":555,"context":383},{"file":613,"line":247,"context":383},{"file":613,"line":251,"context":383},{"file":613,"line":430,"context":383},2,3,[623],{"name":624,"version":29,"knownCves":625},"Select2",[],[627,652,698,714],{"entryPoint":628,"graph":629,"unsanitizedCount":33,"severity":651},"_ajax_authenticate_callback (classes\\controller\\ajax.php:171)",{"nodes":630,"edges":647},[631,637,641],{"id":632,"type":633,"label":634,"file":635,"line":636},"n0","source","$_POST","classes\\controller\\ajax.php",199,{"id":638,"type":639,"label":640,"file":635,"line":636},"n1","transform","→ has_2fa_active()",{"id":642,"type":643,"label":644,"file":177,"line":645,"wp_function":646},"n2","sink","get_var() [SQLi]",220,"get_var",[648,650],{"from":632,"to":638,"sanitized":649},false,{"from":638,"to":642,"sanitized":649},"high",{"entryPoint":653,"graph":654,"unsanitizedCount":697,"severity":651},"\u003Cajax> (classes\\controller\\ajax.php:0)",{"nodes":655,"edges":688},[656,658,659,660,663,666,671,674,677,679,682,685],{"id":632,"type":633,"label":657,"file":635,"line":636},"$_POST (x5)",{"id":638,"type":639,"label":640,"file":635,"line":636},{"id":642,"type":643,"label":644,"file":177,"line":645,"wp_function":646},{"id":661,"type":633,"label":634,"file":635,"line":662},"n3",329,{"id":664,"type":639,"label":665,"file":635,"line":662},"n4","→ activate_2fa()",{"id":667,"type":643,"label":668,"file":669,"line":541,"wp_function":670},"n5","query() [SQLi]","classes\\controller\\totp.php","query",{"id":672,"type":633,"label":634,"file":635,"line":673},"n6",356,{"id":675,"type":639,"label":676,"file":635,"line":673},"n7","→ deactivate_2fa()",{"id":678,"type":643,"label":668,"file":177,"line":607,"wp_function":670},"n8",{"id":680,"type":633,"label":634,"file":635,"line":681},"n9",382,{"id":683,"type":639,"label":684,"file":635,"line":681},"n10","→ regenerate_recovery_codes()",{"id":686,"type":643,"label":668,"file":177,"line":687,"wp_function":670},"n11",316,[689,690,691,692,693,694,695,696],{"from":632,"to":638,"sanitized":649},{"from":638,"to":642,"sanitized":649},{"from":661,"to":664,"sanitized":649},{"from":664,"to":667,"sanitized":649},{"from":672,"to":675,"sanitized":649},{"from":675,"to":678,"sanitized":649},{"from":680,"to":683,"sanitized":649},{"from":683,"to":686,"sanitized":649},8,{"entryPoint":699,"graph":700,"unsanitizedCount":33,"severity":651},"_menu (classes\\controller\\wordfencels.php:837)",{"nodes":701,"edges":711},[702,705,707],{"id":632,"type":633,"label":703,"file":222,"line":704},"$_GET",881,{"id":638,"type":639,"label":706,"file":222,"line":704},"→ get_inactive_2fa_users()",{"id":642,"type":643,"label":708,"file":177,"line":709,"wp_function":710},"get_results() [SQLi]",898,"get_results",[712,713],{"from":632,"to":638,"sanitized":649},{"from":638,"to":642,"sanitized":649},{"entryPoint":715,"graph":716,"unsanitizedCount":33,"severity":651},"\u003Cwordfencels> (classes\\controller\\wordfencels.php:0)",{"nodes":717,"edges":721},[718,719,720],{"id":632,"type":633,"label":703,"file":222,"line":704},{"id":638,"type":639,"label":706,"file":222,"line":704},{"id":642,"type":643,"label":708,"file":177,"line":709,"wp_function":710},[722,723],{"from":632,"to":638,"sanitized":649},{"from":638,"to":642,"sanitized":649},{"summary":725,"deductions":726},"The plugin \"wordfence-login-security\" v1.1.15 exhibits a generally good security posture with no recorded vulnerabilities and robust code practices in many areas. The static analysis shows a lack of exposed entry points like AJAX handlers, REST API routes, and shortcodes, which is excellent. The extensive use of prepared statements for SQL queries and proper output escaping further contributes to its security. The presence of nonce and capability checks, though limited, indicates an awareness of WordPress security best practices. However, the analysis does highlight two critical concerns: the use of the `unserialize()` function, which is inherently risky if not handled with extreme caution, and four taint flows identified as high severity, even though they did not reach a critical level. The absence of known CVEs and a clean vulnerability history are strong positive indicators, suggesting consistent security attention from the developers. Despite these strengths, the identified `unserialize()` usage and high-severity taint flows present potential attack vectors that require careful review and mitigation. Overall, while the plugin appears to be secure in many respects, these specific areas of concern warrant attention.",[727,729],{"reason":728,"points":423},"High severity taint flows found",{"reason":730,"points":163},"Dangerous function: unserialize used","2026-03-17T05:36:02.381Z",{"wat":733,"direct":754},{"assetPaths":734,"generatorPatterns":743,"scriptPaths":744,"versionParams":745},[735,736,737,738,739,740,741,742],"\u002Fwp-content\u002Fplugins\u002Fwordfence-login-security\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fwordfence-login-security\u002Fassets\u002Fcss\u002Fcommon.css","\u002Fwp-content\u002Fplugins\u002Fwordfence-login-security\u002Fassets\u002Fcss\u002Flogin.css","\u002Fwp-content\u002Fplugins\u002Fwordfence-login-security\u002Fassets\u002Fcss\u002Fuser.css","\u002Fwp-content\u002Fplugins\u002Fwordfence-login-security\u002Fassets\u002Fjs\u002Fadmin.js","\u002Fwp-content\u002Fplugins\u002Fwordfence-login-security\u002Fassets\u002Fjs\u002Fcommon.js","\u002Fwp-content\u002Fplugins\u002Fwordfence-login-security\u002Fassets\u002Fjs\u002Flogin.js","\u002Fwp-content\u002Fplugins\u002Fwordfence-login-security\u002Fassets\u002Fjs\u002Fuser.js",[],[739,740,741,742],[746,747,748,749,750,751,752,753],"wordfence-login-security\u002Fassets\u002Fcss\u002Fadmin.css?ver=","wordfence-login-security\u002Fassets\u002Fcss\u002Fcommon.css?ver=","wordfence-login-security\u002Fassets\u002Fcss\u002Flogin.css?ver=","wordfence-login-security\u002Fassets\u002Fcss\u002Fuser.css?ver=","wordfence-login-security\u002Fassets\u002Fjs\u002Fadmin.js?ver=","wordfence-login-security\u002Fassets\u002Fjs\u002Fcommon.js?ver=","wordfence-login-security\u002Fassets\u002Fjs\u002Flogin.js?ver=","wordfence-login-security\u002Fassets\u002Fjs\u002Fuser.js?ver=",{"cssClasses":755,"htmlComments":867,"htmlAttributes":868,"restEndpoints":872,"jsGlobals":874,"shortcodeOutput":876},[756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866],"wordfence-ls-2fa-management-form","wordfence-ls-admin-notice","wordfence-ls-admin-page","wordfence-ls-admin-section","wordfence-ls-button","wordfence-ls-button-danger","wordfence-ls-button-primary","wordfence-ls-button-secondary","wordfence-ls-chart","wordfence-ls-chart-block","wordfence-ls-chart-description","wordfence-ls-chart-header","wordfence-ls-chart-title","wordfence-ls-content","wordfence-ls-dialog","wordfence-ls-dialog-actions","wordfence-ls-dialog-body","wordfence-ls-dialog-close","wordfence-ls-dialog-header","wordfence-ls-dialog-title","wordfence-ls-disabled","wordfence-ls-error","wordfence-ls-form-control","wordfence-ls-form-group","wordfence-ls-form-help","wordfence-ls-form-inline","wordfence-ls-form-label","wordfence-ls-icon","wordfence-ls-icon-checkmark","wordfence-ls-icon-info","wordfence-ls-icon-warning","wordfence-ls-input-group","wordfence-ls-input-group-addon","wordfence-ls-input-group-btn","wordfence-ls-label","wordfence-ls-login-box","wordfence-ls-login-form","wordfence-ls-login-header","wordfence-ls-login-logo","wordfence-ls-login-message","wordfence-ls-login-submit","wordfence-ls-login-title","wordfence-ls-logo","wordfence-ls-logo-small","wordfence-ls-menu","wordfence-ls-menu-item","wordfence-ls-menu-item-active","wordfence-ls-menu-title","wordfence-ls-modal","wordfence-ls-modal-body","wordfence-ls-modal-footer","wordfence-ls-modal-header","wordfence-ls-modal-title","wordfence-ls-page-header","wordfence-ls-page-title","wordfence-ls-panel","wordfence-ls-panel-body","wordfence-ls-panel-footer","wordfence-ls-panel-header","wordfence-ls-panel-title","wordfence-ls-progress-bar","wordfence-ls-qr-code","wordfence-ls-qr-code-container","wordfence-ls-section","wordfence-ls-section-description","wordfence-ls-section-header","wordfence-ls-section-title","wordfence-ls-settings-group","wordfence-ls-settings-item","wordfence-ls-settings-item-description","wordfence-ls-settings-item-label","wordfence-ls-settings-item-title","wordfence-ls-shortcode-container","wordfence-ls-spinner","wordfence-ls-spinner-lg","wordfence-ls-spinner-sm","wordfence-ls-spinner-xl","wordfence-ls-table","wordfence-ls-table-actions","wordfence-ls-table-cell","wordfence-ls-table-description","wordfence-ls-table-header","wordfence-ls-table-row","wordfence-ls-table-title","wordfence-ls-tab-content","wordfence-ls-tab-pane","wordfence-ls-tabs","wordfence-ls-text-danger","wordfence-ls-text-muted","wordfence-ls-text-success","wordfence-ls-text-warning","wordfence-ls-title","wordfence-ls-two-factor-auth-section","wordfence-ls-two-factor-auth-setup","wordfence-ls-two-factor-auth-setup-step","wordfence-ls-two-factor-auth-setup-step-description","wordfence-ls-two-factor-auth-setup-step-title","wordfence-ls-two-factor-auth-status","wordfence-ls-user-avatar","wordfence-ls-user-details","wordfence-ls-user-info","wordfence-ls-user-list-item","wordfence-ls-user-profile-section","wordfence-ls-user-role","wordfence-ls-validation-error","wordfence-ls-warning","wordfence-ls-wrapper","wordfence-ls-woocommerce-account-page","wordfence-ls-woocommerce-account-page-header","wordfence-ls-woocommerce-account-page-title","wordfence-ls-woocommerce-login-form",[],[869,870,871],"data-wordfence-ls-action","data-wordfence-ls-nonce","data-wordfence-ls-uid",[873],"\u002Fwp-json\u002Fwordfence-ls\u002Fv1\u002Fadmin",[875],"WordfenceLS",[877],"[wordfence_2fa_management]"]