[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fn9UrVQtRy9JsLMwH3sYXAc5r-I35qhlREQ8XUnMs-ds":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":36,"analysis":142,"fingerprints":1535},"wallet-up-login-customizer","Wallet Up Login Customizer","2.4.0","Wallet Up","https:\u002F\u002Fprofiles.wordpress.org\u002Fwalletup\u002F","\u003Cp>\u003Cstrong>Wallet Up Premium Login Customizer\u003C\u002Fstrong> transforms your WordPress login page into a modern, secure, and beautiful authentication portal. Built with enterprise security standards and featuring a stunning interactive design, this plugin provides comprehensive protection while delivering an exceptional user experience.\u003C\u002Fp>\n\u003Ch4>🎨 Beautiful Login Interface\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Modern gradient design with customizable colors\u003C\u002Fli>\n\u003Cli>Smooth animations and interactive elements\u003C\u002Fli>\n\u003Cli>AJAX-powered login without page refresh\u003C\u002Fli>\n\u003Cli>Custom logo support with smart sizing\u003C\u002Fli>\n\u003Cli>Mobile-responsive design\u003C\u002Fli>\n\u003Cli>Loading animations with customizable messages\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🔒 Enterprise Security Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Rate Limiting\u003C\u002Fstrong>: Intelligent brute-force protection with memory-efficient implementation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Login Attempt Monitoring\u003C\u002Fstrong>: Track and block suspicious activity\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Login URL\u003C\u002Fstrong>: Hide wp-login.php from attackers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Security Headers\u003C\u002Fstrong>: XSS, clickjacking, and MIME-type protection\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Session Management\u003C\u002Fstrong>: Automatic timeout via WordPress auth cookies\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Honeypot Protection\u003C\u002Fstrong>: Invisible bot detection\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Force Login\u003C\u002Fstrong>: Require authentication for entire site\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Account Lockout\u003C\u002Fstrong>: Temporary lockout after failed attempts\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🚀 Advanced Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Dashboard Replacement\u003C\u002Fstrong>: Redirect users to Wallet Up dashboard\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Role-Based Exemptions\u003C\u002Fstrong>: Exclude administrators from restrictions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Conflict Detection\u003C\u002Fstrong>: Automatic detection of incompatible plugins\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Emergency Recovery\u003C\u002Fstrong>: Built-in recovery mode for troubleshooting\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin Synchronization\u003C\u002Fstrong>: Real-time settings sync across components\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Safe Activation\u003C\u002Fstrong>: Gradual feature enablement with rollback\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🛡️ Security Enhancements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Prevention of user enumeration\u003C\u002Fli>\n\u003Cli>Protection against timing attacks\u003C\u002Fli>\n\u003Cli>Sanitization of all error messages\u003C\u002Fli>\n\u003Cli>CSRF protection on all forms\u003C\u002Fli>\n\u003Cli>Secure AJAX communication\u003C\u002Fli>\n\u003Cli>Input validation and sanitization (60-character username limit)\u003C\u002Fli>\n\u003Cli>Memory-optimized rate limiting\u003C\u002Fli>\n\u003Cli>Global rate limiting to prevent botnet attacks\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🔧 Developer Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Extensive hook system for customization\u003C\u002Fli>\n\u003Cli>Clean, documented codebase\u003C\u002Fli>\n\u003Cli>PSR-4 compliant architecture\u003C\u002Fli>\n\u003Cli>Comprehensive error handling\u003C\u002Fli>\n\u003Cli>Debug mode for development\u003C\u002Fli>\n\u003Cli>Translation-ready with full i18n support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>System Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress 5.6 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher\u003C\u002Fli>\n\u003Cli>MySQL 5.7 or higher \u002F MariaDB 10.2 or higher\u003C\u002Fli>\n\u003Cli>HTTPS recommended for security features\u003C\u002Fli>\n\u003Cli>10MB available disk space\u003C\u002Fli>\n\u003Cli>Modern browser for admin interface\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>This plugin:\u003Cbr \u002F>\n* Does not collect personal data\u003Cbr \u002F>\n* Does not communicate with external services\u003Cbr \u002F>\n* Stores login attempts locally in database\u003Cbr \u002F>\n* Does not use browser localStorage or sessionStorage\u003Cbr \u002F>\n* All data remains on your server\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Documentation\u003C\u002Fstrong>: https:\u002F\u002Fwalletup.app\u002Fdocs\u002Flogin-plugin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Support Forum\u003C\u002Fstrong>: WordPress.org Support | https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwallet-up-login-customizer\u002F\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GitHub\u003C\u002Fstrong>: https:\u002F\u002Fgithub.com\u002FWalletUpLLC\u002Fwallet-up-login-customizer\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email\u003C\u002Fstrong>: help@walletup.app\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Developed by the Wallet Up team.\u003C\u002Fp>\n\u003Cp>Special thanks to:\u003Cbr \u002F>\n* Security agents for vulnerability reports\u003Cbr \u002F>\n* Beta testers for extensive testing\u003Cbr \u002F>\n* Translators for internationalization\u003Cbr \u002F>\n* Inputs contributors\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under GPL v2 or later.\u003C\u002Fp>\n\u003Cp>Copyright (C) 2025 Wallet Up\u003C\u002Fp>\n","Enterprise-grade login security and customization for WordPress with beautiful UI, advanced protection, and seamless Wallet Up integration.",0,188,"2025-11-02T04:16:00.000Z","6.8.5","5.6","7.4",[18,19,20,21,22],"authentication","customization","enterprise-wp-login","qr-login","security","https:\u002F\u002Fwalletup.app\u002Fgo\u002Fcustomizer","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwallet-up-login-customizer.2.4.0.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":25,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"walletup",3,110,30,94,"2026-04-04T07:35:11.829Z",[37,61,83,104,125],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":34,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":15,"tags":51,"homepage":56,"download_link":57,"security_score":58,"vuln_count":59,"unpatched_count":11,"last_vuln_date":60,"fetched_at":27},"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,1693,"2026-01-28T22:15:00.000Z","6.9.4","5.0",[52,53,54,22,55],"firewall","login-security","malware-scanning","two-factor-authentication","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":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":71,"num_ratings":72,"last_updated":73,"tested_up_to":49,"requires_at_least":74,"requires_php":16,"tags":75,"homepage":79,"download_link":80,"security_score":58,"vuln_count":81,"unpatched_count":11,"last_vuln_date":82,"fetched_at":27},"better-wp-security","Solid Security – Password, Two Factor Authentication, and Brute Force Protection","9.4.6","StellarWP","https:\u002F\u002Fprofiles.wordpress.org\u002Fstellarwp\u002F","\u003Ch4>Reduce your WordPress website’s risk to nearly zero with Solid Security\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgo.solidwp.com\u002Fwporg-security-ithemes\" rel=\"nofollow ugc\">Formerly iThemes Security. Looking for iThemes? Learn more here.\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>On average, 30,000 websites are hacked every day.* Cyberattacks in the US increased by 57% in 2022.** Bad actors who want to hack your site, steal your data, and cripple your business are a 24\u002F7\u002F365 threat.\u003C\u002Fp>\n\u003Cp>You need a proactive, strategic approach to WordPress website security that protects your site from brute force attacks, malware infections, and other cyber threats.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgo.solidwp.com\u002Fsolid-security-pro\" rel=\"nofollow ugc\">Solid Security\u003C\u002Fa> shields your site from cyberattacks and prevents security vulnerabilities. It automatically locks out bad users identified by our Brute Force Protection Network that is nearly 1 million sites strong and leverages your own blacklist. It secures and protects your most commonly attacked part of your WordPress website – user login authentication.\u003C\u002Fp>\n\u003Cp>With Patchstack integration (Pro) protects your site before you even have a chance to address vulnerabilities and before a plugin or theme vendor or developer can even issue a patch.\u003C\u002Fp>\n\u003Cp>That’s 24\u002F7\u002F365 always-on truly Solid Security.\u003C\u002Fp>\n\u003Cp>\u003Ciframe loading=\"lazy\" title=\"Welcome to Solid Security, Part of the SolidWP Suite\" src=\"https:\u002F\u002Fplayer.vimeo.com\u002Fvideo\u002F863249227?dnt=1&app_id=122963\" width=\"750\" height=\"422\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\">\u003C\u002Fiframe>\u003C\u002Fp>\n\u003Ch4>🌐 Secure your Website in Minutes\u003C\u002Fh4>\n\u003Cp>The Solid Security setup and onboarding experience allows anyone to secure their WordPress website in under 10 minutes, regardless of technical acumen. Knowing that you have enabled all the right security settings for your website will leave you feeling like your site has never been more secure.\u003C\u002Fp>\n\u003Ch4>📚 Security Site Templates to Fit Your Type of Site\u003C\u002Fh4>\n\u003Cp>Enabling the correct security settings based on the type of website you are building or maintaining is essential for proper security. An eCommerce site requires a different level of security than a basic blog. Solid Security Site Templates make it quick and easy to apply the right security settings for your website.\u003C\u002Fp>\n\u003Cp>Choose from six different site templates to apply the type of security your site needs:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Ecommerce\u003C\u002Fstrong> – websites that sell products or services\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Network\u003C\u002Fstrong> – websites that connect people or communities\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Non-Profit\u003C\u002Fstrong> – websites that promote your cause and collect donations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Blog\u003C\u002Fstrong> – websites that share your thoughts or start a conversation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Portfolio\u003C\u002Fstrong> – websites that showcase your craft\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Brochure\u003C\u002Fstrong> – simple websites that promote your business\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>⌚ Real-Time Website Security Dashboard\u003C\u002Fh4>\n\u003Cp>Every day, lots of activity is happening on your website that you can’t see. Many of these activities can be related to your site’s security, so monitoring these events is vital to keeping your site secure.\u003C\u002Fp>\n\u003Cp>The \u003Ca href=\"https:\u002F\u002Fgo.solidwp.com\u002Fsolid-security-pro\" rel=\"nofollow ugc\">Solid Security Pro\u003C\u002Fa> plugin provides a real-time WordPress security dashboard that monitors security-related events on your site around the clock. The Solid Security Dashboard is a dynamic dashboard with all your WordPress website’s security activity stats in one place, including brute force attacks, banned users, active lockouts, site scan results, and user security stats (Pro).\u003C\u002Fp>\n\u003Ch4>🗝️ WordPress Login Security\u003C\u002Fh4>\n\u003Cp>Setting up and maintaining proper WordPress configurations and managing user account access are essential aspects of hardening your site against threats and vulnerabilities. Basic and Pro include features that address both of these factors.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Two Factor Authentication (2FA)\u003C\u002Fstrong> – Make your WordPress login nearly impenetrable to attack by requiring users to enter a security code along with a password to login. The Solid Security plugin allows you to add two-factor authentication to your WordPress login with several authentication methods, including mobile apps like Authy and Google Authenticator, email, and backup codes.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Password Requirements\u003C\u002Fstrong> – Create and enforce a password policy for your users in less than a minute.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>reCAPTCHA\u003C\u002Fstrong> (Pro) – Stop bad bots from engaging in abusive activities on your website, such as attempting to break into your website using compromised passwords, posting spam, or even scraping your content.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Passwordless Logins\u003C\u002Fstrong> (Pro) – WordPress security made easy. Secure your user accounts with 2fa & strong passwords while allowing real users login with a click of a mouse.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Trusted Devices\u003C\u002Fstrong> (Pro) – Identify the devices you and other users use to block session hijacking attacks and limit Administrator privileges to Trusted Devices.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Automated Vulnerability Patching\u003C\u002Fstrong> (Pro) – Solid Security Pro includes Patchstack which patches vulnerabilities before you have a chance to and applies fixes even before a plugin developer or vendor has issued a patch.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Learn more about how \u003Ca href=\"https:\u002F\u002Fgo.solidwp.com\u002Fwporgpasswordless\" rel=\"nofollow ugc\">passwordless login is the future\u003C\u002Fa> and how Solid Security can help you implement it today.\u003C\u002Fp>\n\u003Ch4>👨‍👩‍👧‍👦 The Right Amount of Security for Every User Level\u003C\u002Fh4>\n\u003Cp>Different types of user levels require different levels of security. During the Solid Security setup process, you can identify your website’s key user groups. Once the different types of users are identified, you can apply the level of security that is just right for each user group.\u003C\u002Fp>\n\u003Cp>Here are a couple of examples of how User Groups are useful for securing your site:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>For Clients\u003C\u002Fstrong> – Let’s say you are configuring Solid Security on a client’s website. You will decide whether or not they are required to use two-factor authentication and if they should have access to the Solid Security settings.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>For Customers\u003C\u002Fstrong> – If you have an eCommerce website, you will decide whether or not you want to protect customer accounts with a password policy.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Privilege Escalation\u003C\u002Fstrong> (Pro) also adds a safe, secure way to grant temporary admin-level access to your website.\u003C\u002Fp>\n\u003Ch4>🤖 Block Bad Bots & Ban User Agents with Lockouts\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Ban Users\u003C\u002Fstrong> (Basic and Pro) – Permanently block repeat offenders from accessing your site.\u003Cbr \u002F>\nLocal Brute Force Protection – Automatically identify and stop the most common method of attack on WordPress sites.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Local Brute Force Protection\u003C\u002Fstrong> (Basic and Pro) – Automatically identify and stop the most common method of attack on WordPress sites.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Network Brute Force Protection\u003C\u002Fstrong> (Basic and Pro) – The network is the Solid Security community and is nearly one million websites strong. If someone tries to break into websites in the Solid Security community, Solid Security will block them across the network.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Magic Links\u003C\u002Fstrong> (Pro) – Security shouldn’t get in your way. Magic Links allow you to log in to your WordPress site while your username is locked out by the Solid Security Local Brute Force Protection feature.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🔍 Monitor Your Site’s Security Health\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>File Change Detection\u003C\u002Fstrong> (Basic and Pro) – Solid Security logs changes made to your website that can help detect malicious activity on your website.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Site Scanner (Basic and Pro)\u003C\u002Fstrong> – Schedule checks to run four times per day (Basic) or hourly (Pro) for known vulnerabilities of WordPress core file, plugins and themes. Using the Google Safe Browsing API, the Site Scan also checks your Google’s blocklist status and will alert you if Google has found any malware on your website.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Patchstack integration (Pro)\u003C\u002Fstrong> – Automated virtual patching of some vulnerabilities before you even have a chance to address them yourself, and before a plugin or theme vendor or developer can even issue a patch.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Site Scanner\u003C\u002Fstrong> (Pro) – Unlock Version Management to automatically apply a patch to vulnerable software detected by the Site Scan when one is available.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>User Logging\u003C\u002Fstrong> (Pro) – Keep a record of user activity in your WordPress security logs, including login\u002Flogout, user registration, adding\u002Fremoving plugins, switching themes, changes to posts and pages, and more.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Version Management\u003C\u002Fstrong> (Pro) – The Version Management feature in Solid Security Pro allows you to auto-update WordPress, plugins, and themes. Beyond that, Version Management also has options to harden your website when you are running outdated software and scan for old websites.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🧠 Smarter, More Actionable Vulnerability Prioritization\u003C\u002Fh4>\n\u003Cp>Not all vulnerabilities pose the same level of risk, and the traditional Common Vulnerability Scoring System (CVSS) score doesn’t always reflect the realities of running a WordPress site.\u003C\u002Fp>\n\u003Cp>Solid Security now uses the Patchstack Priority score, which goes beyond CVSS to provide a real-world risk assessment tailored to WordPress. It factors in how likely a vulnerability is to be exploited and its actual impact on your site.\u003C\u002Fp>\n\u003Cp>With Patchstack Priority, you get a clearer picture of what really matters, helping you focus on the vulnerabilities that pose the greatest risk, and worry less about noise from low-impact issues.\u003C\u002Fp>\n\u003Ch4>🛠️ Website Security Utilities\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Enforce SSL\u003C\u002Fstrong> – Force all connections to the website to be made over SSL\u002FTLS.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Database Backups\u003C\u002Fstrong> – Create backups of your WordPress database. (Not a complete backup.)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Geolocation\u003C\u002Fstrong> (Pro) – Improve Trusted Devices by connecting to an external location or mapping API.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🚀 Advanced Security Tools\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Identify Server IPs\u003C\u002Fstrong> – Prevent issues caused by inadvertently locking out your server IPs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Change User ID 1\u003C\u002Fstrong> – Change the user ID for the first WordPress user, potentially preventing attacks that assume the user with ID1 exists and is an administrator.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Change Database Prefix\u003C\u002Fstrong> – Change the database prefix that WordPress uses, potentially preventing attacks that assume the database prefix is “wp_”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Check File Permission\u003C\u002Fstrong> – See the file and directory permissions of key areas of your site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Server Config Rules\u003C\u002Fstrong> – View or flush the server security rules generated by Solid Security.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>wp-config.php Rules\u003C\u002Fstrong> – View or flush the wp-config.php security rules generated by Solid Security.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Change WordPress Salts\u003C\u002Fstrong> – Secure your site after a successful attack by changing the WordPress salts used to secure cookies and security tokens.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hide Login URL\u003C\u002Fstrong> – change the login URL of your site, making it harder for bots to find your login page and attack it.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🛟 Need Help?\u003C\u002Fh4>\n\u003Cp>Free support may be available with the community’s help in the WordPress.org support forums. Our Solid Security support team provides top-notch technical support to all our Solid Security Basic users there.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fgo.solidwp.com\u002Fsecurity-help-center\" rel=\"nofollow ugc\">Our Help Center will help you become an iThemes Security expert.\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Get additional peace of mind with professional support from our expert team and pro features to take your site’s security to the next level with Solid Security Pro.\u003C\u002Fp>\n\u003Ch4>Recover From a Hacked Site\u003C\u002Fh4>\n\u003Cp>Solid Security makes regular backups of your WordPress database, allowing you to get back online quickly in the event of a hack or security breach. Use Solid Security to create and email database backups on a customizable schedule.\u003C\u002Fp>\n\u003Cp>For complete site backups and the ability to restore or move WordPress to a new host or domain, check out \u003Ca href=\"https:\u002F\u002Fgo.solidwp.com\u002Fsecurity-basic-solid-backups\" rel=\"nofollow ugc\">Solid Backups\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Solid Central Integration\u003C\u002Fh4>\n\u003Cp>Manage more than one WordPress site? Release lockouts and keep your themes, plugins, and WordPress core up to date from one dashboard with \u003Ca href=\"https:\u002F\u002Fgo.solidwp.com\u002Fsecurity-basic-solid-central\" rel=\"nofollow ugc\">Solid Central\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>*Zippia. “30 Crucial Cybersecurity Statistics [2023]: Data, Trends And More” Zippia.com. Jun. 15, 2023, https:\u002F\u002Fwww.zippia.com\u002Fadvice\u002Fcybersecurity-statistics\u002F\u003C\u002Fp>\n\u003Cp>**https:\u002F\u002Fblog.checkpoint.com\u002F2023\u002F01\u002F05\u002F38-increase-in-2022-global-cyberattacks\u002F\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>Released under the terms of the GNU General Public License.\u003C\u002Fp>\n","Harden your site security with Login Security, Two-Factor Authentication (2FA), Vulnerability Scanner, Firewall, and more. Formerly iThemes Security.",700000,37290141,92,3981,"2026-02-25T12:43:00.000Z","6.5",[76,77,78,22,55],"brute-force-protection","malware","password-protection","https:\u002F\u002Fsolidwp.com\u002Fproducts\u002Fsecurity","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbetter-wp-security.9.4.6.zip",19,"2024-06-20 00:00:00",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":71,"num_ratings":93,"last_updated":94,"tested_up_to":95,"requires_at_least":96,"requires_php":97,"tags":98,"homepage":100,"download_link":101,"security_score":102,"vuln_count":31,"unpatched_count":11,"last_vuln_date":103,"fetched_at":27},"limit-login-attempts","Limit Login Attempts","1.7.2","Automattic","https:\u002F\u002Fprofiles.wordpress.org\u002Fautomattic\u002F","\u003Cp>Limit the number of login attempts possible both through normal login as well as using auth cookies.\u003C\u002Fp>\n\u003Cp>By default WordPress allows unlimited login attempts either through the login page or by sending special cookies. This allows passwords (or hashes) to be brute-force cracked with relative ease.\u003C\u002Fp>\n\u003Cp>Limit Login Attempts blocks an Internet address from making further attempts after a specified limit on retries is reached, making a brute-force attack difficult or impossible.\u003C\u002Fp>\n\u003Cp>Features\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Limit the number of retry attempts when logging in (for each IP). Fully customizable\u003C\u002Fli>\n\u003Cli>Limit the number of attempts to log in using auth cookies in same way\u003C\u002Fli>\n\u003Cli>Informs user about remaining retries or lockout time on login page\u003C\u002Fli>\n\u003Cli>Optional logging, optional email notification\u003C\u002Fli>\n\u003Cli>Handles server behind reverse proxy\u003C\u002Fli>\n\u003Cli>It is possible to whitelist IPs using a filter. But you probably shouldn’t. 🙂\u003C\u002Fli>\n\u003C\u002Ful>\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","Limit rate of login attempts, including by way of cookies, for each IP. Fully customizable.",300000,2279689,202,"2023-04-04T19:15:00.000Z","6.2.9","2.8","",[18,99,22],"login","http:\u002F\u002Fdevel.kostdoktorn.se\u002Flimit-login-attempts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flimit-login-attempts.1.7.2.zip",82,"2023-04-10 00:00:00",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":49,"requires_at_least":117,"requires_php":118,"tags":119,"homepage":123,"download_link":124,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"two-factor","Two Factor","0.15.0","WordPress.org","https:\u002F\u002Fprofiles.wordpress.org\u002Fwordpressdotorg\u002F","\u003Cp>The Two-Factor plugin adds an extra layer of security to your WordPress login by requiring users to provide a second form of authentication in addition to their password.  This helps protect against unauthorized access even if passwords are compromised.\u003C\u002Fp>\n\u003Ch3>Setup Instructions\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Important\u003C\u002Fstrong>: Each user must individually configure their two-factor authentication settings.  There are no site-wide settings for this plugin.\u003C\u002Fp>\n\u003Ch3>For Individual Users\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\u003Cstrong>Navigate to your profile\u003C\u002Fstrong>: Go to “Users” \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> “Your Profile” in the WordPress admin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Find Two-Factor Options\u003C\u002Fstrong>: Scroll down to the “Two-Factor Options” section\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Choose your methods\u003C\u002Fstrong>: Enable one or more authentication providers (noting a site admin may have hidden one or more so what is available could vary):\n\u003Cul>\n\u003Cli>\u003Cstrong>Authenticator App (TOTP)\u003C\u002Fstrong> – Use apps like Google Authenticator, Authy, or 1Password\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Codes\u003C\u002Fstrong> – Receive one-time codes via email\u003C\u002Fli>\n\u003Cli>\u003Cstrong>FIDO U2F Security Keys\u003C\u002Fstrong> – Use physical security keys (requires HTTPS)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Backup Codes\u003C\u002Fstrong> – Generate one-time backup codes for emergencies\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dummy Method\u003C\u002Fstrong> – For testing purposes only (requires WP_DEBUG)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configure each method\u003C\u002Fstrong>: Follow the setup instructions for each enabled provider\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Set primary method\u003C\u002Fstrong>: Choose which method to use as your default authentication\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Save changes\u003C\u002Fstrong>: Click “Update Profile” to save your settings\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>For Site Administrators\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>No global settings\u003C\u002Fstrong>: This plugin operates on a per-user basis only. For more, see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWordPress\u002Ftwo-factor\u002Fissues\u002F249\" rel=\"nofollow ugc\">GH#249\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User management\u003C\u002Fstrong>: Administrators can configure 2FA for other users by editing their profiles\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Security recommendations\u003C\u002Fstrong>: Encourage users to enable backup methods to prevent account lockouts\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Available Authentication Methods\u003C\u002Fh3>\n\u003Ch3>Authenticator App (TOTP) – Recommended\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Security\u003C\u002Fstrong>: High – Time-based one-time passwords\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Setup\u003C\u002Fstrong>: Scan QR code with authenticator app\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compatibility\u003C\u002Fstrong>: Works with Google Authenticator, Authy, 1Password, and other TOTP apps\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Best for\u003C\u002Fstrong>: Most users, provides excellent security with good usability\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Backup Codes – Recommended\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Security\u003C\u002Fstrong>: Medium – One-time use codes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Setup\u003C\u002Fstrong>: Generate 10 backup codes for emergency access\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compatibility\u003C\u002Fstrong>: Works everywhere, no special hardware needed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Best for\u003C\u002Fstrong>: Emergency access when other methods are unavailable\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Email Codes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Security\u003C\u002Fstrong>: Medium – One-time codes sent via email\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Setup\u003C\u002Fstrong>: Automatic – uses your WordPress email address\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compatibility\u003C\u002Fstrong>: Works with any email-capable device\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Best for\u003C\u002Fstrong>: Users who prefer email-based authentication\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>FIDO U2F Security Keys\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Security\u003C\u002Fstrong>: High – Hardware-based authentication\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Setup\u003C\u002Fstrong>: Register physical security keys (USB, NFC, or Bluetooth)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Requirements\u003C\u002Fstrong>: HTTPS connection required, compatible browser needed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Browser Support\u003C\u002Fstrong>: Chrome, Firefox, Edge (varies by key type)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Best for\u003C\u002Fstrong>: Users with security keys who want maximum security\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Dummy Method\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Security\u003C\u002Fstrong>: None – Always succeeds\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Setup\u003C\u002Fstrong>: Only available when WP_DEBUG is enabled\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Purpose\u003C\u002Fstrong>: Testing and development only\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Best for\u003C\u002Fstrong>: Developers testing the plugin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Important Notes\u003C\u002Fh3>\n\u003Ch3>HTTPS Requirement\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>FIDO U2F Security Keys require an HTTPS connection to function\u003C\u002Fli>\n\u003Cli>Other methods work on both HTTP and HTTPS sites\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Browser Compatibility\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>FIDO U2F requires a compatible browser and may not work on all devices\u003C\u002Fli>\n\u003Cli>TOTP and email methods work on all devices and browsers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Account Recovery\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Always enable backup codes to prevent being locked out of your account\u003C\u002Fli>\n\u003Cli>If you lose access to all authentication methods, contact your site administrator\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Security Best Practices\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Use multiple authentication methods when possible\u003C\u002Fli>\n\u003Cli>Keep backup codes in a secure location\u003C\u002Fli>\n\u003Cli>Regularly review and update your authentication settings\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For more information about two-factor authentication in WordPress, see the \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Fadvanced-administration\u002Fsecurity\u002Fmfa\u002F\" rel=\"nofollow ugc\">WordPress Advanced Administration Security Guide\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>For more history, see \u003Ca href=\"https:\u002F\u002Fgeorgestephanis.wordpress.com\u002F2013\u002F08\u002F14\u002Ftwo-cents-on-two-factor\u002F\" rel=\"nofollow ugc\">this post\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Actions & Filters\u003C\u002Fh4>\n\u003Cp>Here is a list of action and filter hooks provided by the plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>two_factor_providers\u003C\u002Fcode> filter overrides the available two-factor providers such as email and time-based one-time passwords. Array values are PHP classnames of the two-factor providers.\u003C\u002Fli>\n\u003Cli>\u003Ccode>two_factor_providers_for_user\u003C\u002Fcode> filter overrides the available two-factor providers for a specific user. Array values are instances of provider classes and the user object \u003Ccode>WP_User\u003C\u002Fcode> is available as the second argument.\u003C\u002Fli>\n\u003Cli>\u003Ccode>two_factor_enabled_providers_for_user\u003C\u002Fcode> filter overrides the list of two-factor providers enabled for a user. First argument is an array of enabled provider classnames as values, the second argument is the user ID.\u003C\u002Fli>\n\u003Cli>\u003Ccode>two_factor_user_authenticated\u003C\u002Fcode> action which receives the logged in \u003Ccode>WP_User\u003C\u002Fcode> object as the first argument for determining the logged in user right after the authentication workflow.\u003C\u002Fli>\n\u003Cli>\u003Ccode>two_factor_user_api_login_enable\u003C\u002Fcode> filter restricts authentication for REST API and XML-RPC to application passwords only. Provides the user ID as the second argument.\u003C\u002Fli>\n\u003Cli>\u003Ccode>two_factor_email_token_ttl\u003C\u002Fcode> filter overrides the time interval in seconds that an email token is considered after generation. Accepts the time in seconds as the first argument and the ID of the \u003Ccode>WP_User\u003C\u002Fcode> object being authenticated.\u003C\u002Fli>\n\u003Cli>\u003Ccode>two_factor_email_token_length\u003C\u002Fcode> filter overrides the default 8 character count for email tokens.\u003C\u002Fli>\n\u003Cli>\u003Ccode>two_factor_backup_code_length\u003C\u002Fcode> filter overrides the default 8 character count for backup codes. Provides the \u003Ccode>WP_User\u003C\u002Fcode> of the associated user as the second argument.\u003C\u002Fli>\n\u003Cli>\u003Ccode>two_factor_rest_api_can_edit_user\u003C\u002Fcode> filter overrides whether a user’s Two-Factor settings can be edited via the REST API. First argument is the current \u003Ccode>$can_edit\u003C\u002Fcode> boolean, the second argument is the user ID.\u003C\u002Fli>\n\u003Cli>\u003Ccode>two_factor_before_authentication_prompt\u003C\u002Fcode> action which receives the provider object and fires prior to the prompt shown on the authentication input form.\u003C\u002Fli>\n\u003Cli>\u003Ccode>two_factor_after_authentication_prompt\u003C\u002Fcode> action which receives the provider object and fires after the prompt shown on the authentication input form.\u003C\u002Fli>\n\u003Cli>\u003Ccode>two_factor_after_authentication_input\u003C\u002Fcode>action which receives the provider object and fires after the input shown on the authentication input form (if form contains no input, action fires immediately after \u003Ccode>two_factor_after_authentication_prompt\u003C\u002Fcode>).\u003C\u002Fli>\n\u003C\u002Ful>\n","Enable Two-Factor Authentication (2FA) using time-based one-time passwords (TOTP), Universal 2nd Factor (U2F), email, and backup verification codes.",100000,1526344,96,199,"2026-02-17T13:21:00.000Z","6.8","7.2",[120,18,121,22,122],"2fa","mfa","totp","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftwo-factor\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftwo-factor.0.15.0.zip",{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":112,"downloaded":133,"rating":134,"num_ratings":135,"last_updated":136,"tested_up_to":14,"requires_at_least":137,"requires_php":97,"tags":138,"homepage":97,"download_link":140,"security_score":114,"vuln_count":31,"unpatched_count":11,"last_vuln_date":141,"fetched_at":27},"wps-limit-login","WPS Limit Login","1.5.9.2","NicolasKulka","https:\u002F\u002Fprofiles.wordpress.org\u002Fnicolaskulka\u002F","\u003Ch4>Français\u003C\u002Fh4>\n\u003Cp>Limitez le nombre de tentatives de connexion possibles via la page de connexion et en utilisant les cookies auth.\u003Cbr \u002F>\nWordPress par défaut permet des tentatives de connexion illimitées soit via la page de connexion ou en envoyant des cookies spéciaux. Cela permet aux mots de passe (ou hashs) d’être craqués via la force brute relativement facilement.\u003Cbr \u002F>\nWPS Limit login limite les tentatives de connexion et bloque l’envoi d’autres tentatives à une adresse Internet après l’atteinte d’une limite spécifiée, ce qui rend une attaque par force brute difficile, voire impossible.\u003C\u002Fp>\n\u003Cp>Caractéristiques:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Limiter le nombre de nouvelles tentatives lors de la connexion (pour chaque IP). Ceci est entièrement personnalisable.\u003C\u002Fli>\n\u003Cli>Limitez le nombre de tentatives de connexion en utilisant des cookies d’autorisation de la même manière.\u003C\u002Fli>\n\u003Cli>Informe l’utilisateur sur les tentatives restantes ou le temps de verrouillage sur la page de connexion.\u003C\u002Fli>\n\u003Cli>Journalisation et notification par courriel facultative.\u003C\u002Fli>\n\u003Cli>Gère le serveur derrière le proxy inverse (reverse proxy).\u003C\u002Fli>\n\u003Cli>Il est possible de mettre en liste blanche \u002F liste noire les adresses IP.\u003C\u002Fli>\n\u003Cli>Compatibilité avec le pare-feu du site Web Sucuri.\u003C\u002Fli>\n\u003Cli>Protection de passerelle \u003Cstrong>XMLRPC\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Woocommerce\u003C\u002Fstrong> protection de la page de connexion.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compatibilité multi-sites\u003C\u002Fstrong> avec des paramètres MU supplémentaires.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Pour en savoir plus lisez l’article suivant : \u003Ca href=\"https:\u002F\u002Fwpformation.com\u002Fwps-limit-login\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fwpformation.com\u002Fwps-limit-login\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Ce plugin vous est gentiment proposé par \u003Ca href=\"https:\u002F\u002Fwww.wpserveur.net\u002F?refwps=14&campaign=wpslimitlogin\" rel=\"nofollow ugc\">WPServeur\u003C\u002Fa> l’hébergeur spécialisé WordPress.\u003C\u002Fp>\n\u003Cp>Découvrez également nos autres extensions gratuites :\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Ffr.wordpress.org\u002Fplugins\u002Fwps-hide-login\u002F\" rel=\"nofollow ugc\">WPS Hide Login\u003C\u002Fa> pour changer votre URL de connexion en ce que vous voulez.\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Ffr.wordpress.org\u002Fplugins\u002Fwps-bidouille\u002F\" rel=\"nofollow ugc\">WPS Bidouille\u003C\u002Fa> pour optimiser votre WordPress et faire le plein d’infos.\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Ffr.wordpress.org\u002Fplugins\u002Fwps-cleaner\u002F\" rel=\"nofollow ugc\">WPS Cleaner\u003C\u002Fa> pour nettoyer votre site WordPress.\u003C\u002Fp>\n\u003Cp>Ce plugin est seulement maintenu, ce qui signifie que nous ne garantissons pas un support gratuit. Envisagez de signaler un problème et soyez patient.\u003C\u002Fp>\n\u003Ch4>English\u003C\u002Fh4>\n\u003Cp>Limit the number of login attempts that possible both through the normal login as well as using the auth cookies.\u003Cbr \u002F>\nWordPress by default allows unlimited login attempts either through the login page or by sending special cookies. This allows passwords (or hashes) to be cracked via brute-force relatively easily.\u003Cbr \u002F>\nWPS Limit login blocks an Internet address from making further attempts after a specified limit on retries has been reached, making a brute-force attack difficult or impossible.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Limit the number of retry attempts when logging in (per each IP). This is fully customizable.\u003C\u002Fli>\n\u003Cli>Limit the number of attempts to log in using authorization cookies in the same way.\u003C\u002Fli>\n\u003Cli>Informs the user about the remaining retries or lockout time on the login page.\u003C\u002Fli>\n\u003Cli>Optional logging and optional email notification.\u003C\u002Fli>\n\u003Cli>Handles server behind the reverse proxy.\u003C\u002Fli>\n\u003Cli>It is possible to whitelist\u002Fblacklist IPs.\u003C\u002Fli>\n\u003Cli>Sucuri Website Firewall 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\u003C\u002Fstrong> compatibility with extra MU settings.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>To learn more read the following article: \u003Ca href=\"https:\u002F\u002Fwpformation.com\u002Fwps-limit-login\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fwpformation.com\u002Fwps-limit-login\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>This plugin is kindly proposed by \u003Ca href=\"https:\u002F\u002Fwww.wpserveur.net\u002F?refwps=14&campaign=wpslimitlogin\" rel=\"nofollow ugc\">WPServeur\u003C\u002Fa> the specialized WordPress web host.\u003C\u002Fp>\n\u003Cp>Découvrez également nos autres extensions gratuites :\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwps-hide-login\u002F\" rel=\"ugc\">WPS Hide Login\u003C\u002Fa> to change your login URL to whatever you want.\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwps-bidouille\u002F\" rel=\"ugc\">WPS Bidouille\u003C\u002Fa> to optimize your WordPress and get more info.\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwps-cleaner\u002F\" rel=\"ugc\">WPS Cleaner\u003C\u002Fa> to clean your WordPress site.\u003C\u002Fp>\n\u003Cp>This plugin is only maintained, which means we do not guarantee free support. Consider reporting a problem and be patient.\u003C\u002Fp>\n","WPS Limit login limit connection attempts by IP address",931525,98,83,"2025-06-24T07:45:00.000Z","4.2",[18,139,99,22,126],"limit-login","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwps-limit-login.1.5.9.2.zip","2019-07-23 00:00:00",{"attackSurface":143,"codeSignals":863,"taintFlows":1255,"riskAssessment":1526,"analyzedAt":1534},{"hooks":144,"ajaxHandlers":709,"restRoutes":838,"shortcodes":839,"cronEvents":840,"entryPointCount":210,"unprotectedCount":862},[145,151,156,160,163,165,169,173,177,182,185,189,192,195,200,204,207,211,215,219,223,228,232,236,240,243,246,250,254,257,259,262,264,269,273,278,281,284,285,287,289,293,297,302,306,309,312,315,318,320,321,323,325,326,327,328,329,331,332,334,336,337,339,341,343,347,351,353,355,356,357,359,363,366,371,374,378,381,384,387,391,395,399,403,406,409,413,416,420,423,426,428,431,435,437,438,442,445,448,451,454,458,460,462,465,469,473,477,480,483,484,486,487,490,492,494,496,499,501,506,510,512,514,517,519,523,525,527,530,532,537,542,545,548,550,552,554,557,560,563,565,567,569,572,577,580,584,588,592,596,600,603,607,610,612,614,616,619,622,624,625,629,631,633,636,638,639,641,643,646,648,652,655,659,662,665,669,671,675,678,681,684,687,691,694,697,700,702,705,707],{"type":146,"name":147,"callback":148,"file":149,"line":150},"action","admin_init","process_sync_queue","src\\Admin\\AdminSync.php",29,{"type":146,"name":152,"callback":153,"priority":154,"file":149,"line":155},"update_option_wallet_up_lc_options","handle_options_update",10,32,{"type":146,"name":157,"callback":158,"priority":154,"file":149,"line":159},"update_option_wallet_up_lc_security_options","handle_security_options_update",33,{"type":146,"name":152,"callback":161,"file":149,"line":162},"clear_related_caches",35,{"type":146,"name":157,"callback":161,"file":149,"line":164},36,{"type":146,"name":166,"callback":167,"file":149,"line":168},"admin_notices","check_version_sync",38,{"type":146,"name":170,"callback":171,"file":149,"line":172},"wallet_up_lc_sync_check","scheduled_sync_check",43,{"type":146,"name":174,"callback":175,"file":149,"line":176},"shutdown","flush_rewrite_rules",200,{"type":146,"name":178,"callback":179,"file":180,"line":181},"init","on_init","src\\Core\\Plugin.php",121,{"type":146,"name":147,"callback":183,"file":180,"line":184},"on_admin_init",122,{"type":146,"name":166,"callback":186,"file":187,"line":188},"show_setup_wizard","src\\Core\\SafeActivation.php",238,{"type":146,"name":166,"callback":190,"file":187,"line":191},"add_safety_warnings",240,{"type":146,"name":166,"callback":193,"file":187,"line":194},"show_emergency_disabled_notice",242,{"type":196,"name":197,"callback":198,"priority":154,"file":187,"line":199},"filter","plugin_row_meta","add_plugin_row_meta",244,{"type":146,"name":178,"callback":201,"priority":11,"file":202,"line":203},"prevent_dashboard_access","src\\Login\\ForceRedirect.php",45,{"type":146,"name":147,"callback":205,"priority":11,"file":202,"line":206},"wallet_up_lc_dashboard_redirect",46,{"type":146,"name":208,"callback":209,"priority":11,"file":202,"line":210},"template_redirect","catch_admin_access",47,{"type":196,"name":212,"callback":212,"priority":213,"file":202,"line":214},"login_redirect",999999,49,{"type":146,"name":216,"callback":217,"priority":154,"file":202,"line":218},"wp_login","after_login_redirect",50,{"type":146,"name":220,"callback":221,"priority":213,"file":202,"line":222},"admin_menu","modify_admin_menu",52,{"type":146,"name":224,"callback":225,"priority":226,"file":202,"line":227},"admin_bar_menu","modify_admin_bar",999,53,{"type":146,"name":229,"callback":230,"priority":226,"file":202,"line":231},"admin_head","add_admin_scripts",54,{"type":146,"name":233,"callback":234,"priority":226,"file":202,"line":235},"wp_dashboard_setup","remove_dashboard_widgets",56,{"type":146,"name":237,"callback":238,"file":202,"line":239},"welcome_panel","custom_welcome_panel",58,{"type":146,"name":147,"callback":241,"file":202,"line":242},"disable_redirect_option",61,{"type":146,"name":166,"callback":244,"file":202,"line":245},"wallet_up_lc_not_available_notice",62,{"type":146,"name":247,"callback":248,"file":202,"line":249},"plugins_loaded","closure",428,{"type":146,"name":220,"callback":251,"file":252,"line":253},"anonymous","src\\Login\\Login.php",128,{"type":146,"name":255,"callback":251,"file":252,"line":256},"admin_enqueue_scripts",131,{"type":146,"name":147,"callback":251,"file":252,"line":258},134,{"type":146,"name":260,"callback":251,"file":252,"line":261},"login_enqueue_scripts",152,{"type":196,"name":212,"callback":251,"file":252,"line":263},155,{"type":196,"name":265,"callback":266,"file":267,"line":268},"login_headerurl","login_logo_url","src\\Login\\LoginCustomizer.php",71,{"type":196,"name":270,"callback":271,"file":267,"line":272},"login_headertext","login_logo_title",72,{"type":146,"name":274,"callback":275,"priority":276,"file":267,"line":277},"login_header","ensure_login_globals",1,74,{"type":146,"name":279,"callback":275,"priority":276,"file":267,"line":280},"login_init",76,{"type":146,"name":279,"callback":282,"priority":276,"file":267,"line":283},"start_login_output_buffer",79,{"type":146,"name":178,"callback":248,"priority":276,"file":267,"line":102},{"type":146,"name":274,"callback":286,"priority":154,"file":267,"line":71},"login_form_structure",{"type":146,"name":288,"callback":288,"file":267,"line":34},"login_footer",{"type":196,"name":290,"callback":291,"priority":154,"file":267,"line":292},"login_form_submit_button","enhance_login_button",95,{"type":196,"name":294,"callback":295,"file":267,"line":296},"login_body_class","add_login_body_class",102,{"type":196,"name":298,"callback":299,"priority":300,"file":267,"line":301},"login_errors","enhance_login_errors",20,103,{"type":196,"name":303,"callback":304,"file":267,"line":305},"login_form_top","add_login_form_accessibility",104,{"type":146,"name":288,"callback":307,"priority":300,"file":267,"line":308},"add_action_screen",105,{"type":196,"name":212,"callback":310,"priority":154,"file":267,"line":311},"custom_login_redirect",106,{"type":196,"name":313,"callback":314,"file":267,"line":32},"login_message","welcome_back_message",{"type":146,"name":260,"callback":316,"file":317,"line":210},"enqueue_login_logo_styles","src\\Login\\LoginLogo.php",{"type":196,"name":265,"callback":266,"file":317,"line":319},48,{"type":196,"name":270,"callback":271,"file":317,"line":214},{"type":146,"name":255,"callback":322,"file":317,"line":227},"enqueue_admin_scripts",{"type":146,"name":178,"callback":201,"priority":11,"file":324,"line":319},"src\\Login\\LoginRedirect.php",{"type":146,"name":147,"callback":205,"priority":11,"file":324,"line":214},{"type":146,"name":208,"callback":209,"priority":11,"file":324,"line":218},{"type":196,"name":212,"callback":212,"priority":213,"file":324,"line":222},{"type":146,"name":216,"callback":217,"priority":154,"file":324,"line":227},{"type":146,"name":220,"callback":221,"priority":213,"file":324,"line":330},55,{"type":146,"name":224,"callback":225,"priority":226,"file":324,"line":235},{"type":146,"name":229,"callback":230,"priority":226,"file":324,"line":333},57,{"type":146,"name":233,"callback":234,"priority":226,"file":324,"line":335},59,{"type":146,"name":237,"callback":238,"file":324,"line":242},{"type":146,"name":147,"callback":241,"file":324,"line":338},64,{"type":146,"name":166,"callback":244,"file":324,"line":340},65,{"type":146,"name":247,"callback":248,"file":324,"line":342},432,{"type":146,"name":147,"callback":344,"priority":345,"file":346,"line":239},"delayed_init",5,"src\\Redirect\\DashboardRedirect.php",{"type":196,"name":212,"callback":348,"priority":349,"file":346,"line":350},"handle_login_redirect",9999,91,{"type":146,"name":166,"callback":248,"file":346,"line":352},162,{"type":146,"name":147,"callback":344,"priority":345,"file":354,"line":239},"src\\Redirect\\WalletUpLcRedirect.php",{"type":196,"name":212,"callback":348,"priority":349,"file":354,"line":350},{"type":146,"name":166,"callback":248,"file":354,"line":352},{"type":146,"name":229,"callback":248,"file":354,"line":358},305,{"type":146,"name":360,"callback":361,"file":362,"line":58},"wallet_up_lc_cleanup_rate_limits","cleanup_expired_entries","src\\Security\\AdvancedRateLimiter.php",{"type":146,"name":157,"callback":364,"priority":154,"file":362,"line":365},"sync_ip_lists",101,{"type":146,"name":367,"callback":368,"file":369,"line":370},"wallet_up_lc_send_security_digest","send_security_digest","src\\Security\\EnterpriseSecurity.php",208,{"type":146,"name":178,"callback":372,"file":369,"line":373},"add_login_rewrite_rules",215,{"type":196,"name":375,"callback":376,"file":369,"line":377},"query_vars","add_login_query_vars",216,{"type":146,"name":208,"callback":379,"priority":345,"file":369,"line":380},"handle_custom_login_url",217,{"type":146,"name":279,"callback":382,"priority":276,"file":369,"line":383},"initialize_login_variables",229,{"type":146,"name":274,"callback":385,"priority":276,"file":369,"line":386},"ensure_variables_initialized",230,{"type":146,"name":388,"callback":389,"file":369,"line":390},"login_form","add_security_fields",231,{"type":146,"name":392,"callback":393,"file":369,"line":394},"login_head","add_security_fields_to_head",232,{"type":196,"name":396,"callback":397,"priority":33,"file":369,"line":398},"authenticate","validate_login_attempt",233,{"type":146,"name":400,"callback":401,"file":369,"line":402},"wp_login_failed","handle_failed_login",234,{"type":146,"name":216,"callback":404,"priority":154,"file":369,"line":405},"handle_successful_login",235,{"type":146,"name":178,"callback":407,"file":369,"line":408},"manage_user_sessions",236,{"type":146,"name":410,"callback":411,"file":369,"line":412},"wp_logout","cleanup_user_session",237,{"type":196,"name":414,"callback":415,"priority":154,"file":369,"line":188},"logout_redirect","custom_logout_redirect",{"type":196,"name":417,"callback":418,"priority":154,"file":369,"line":419},"logout_url","custom_logout_url",239,{"type":146,"name":421,"callback":422,"file":369,"line":191},"wp_loaded","monitor_security_events",{"type":146,"name":147,"callback":424,"file":369,"line":425},"register_security_settings",243,{"type":146,"name":178,"callback":248,"priority":276,"file":369,"line":427},285,{"type":146,"name":247,"callback":429,"priority":276,"file":369,"line":430},"enforce_authentication",297,{"type":146,"name":432,"callback":433,"priority":276,"file":369,"line":434},"send_headers","send_no_cache_headers_for_non_logged_in",300,{"type":146,"name":178,"callback":429,"priority":276,"file":369,"line":436},303,{"type":146,"name":208,"callback":429,"priority":276,"file":369,"line":358},{"type":196,"name":439,"callback":440,"priority":154,"file":369,"line":441},"rest_authentication_errors","restrict_rest_api",306,{"type":146,"name":147,"callback":443,"priority":154,"file":369,"line":444},"restrict_admin_access",307,{"type":146,"name":446,"callback":429,"priority":276,"file":369,"line":447},"wp",309,{"type":146,"name":279,"callback":449,"priority":154,"file":369,"line":450},"intercept_wp_login",347,{"type":146,"name":432,"callback":452,"file":369,"line":453},"add_security_headers",354,{"type":196,"name":455,"callback":456,"file":369,"line":457},"wp_headers","modify_wp_headers",355,{"type":196,"name":298,"callback":248,"priority":276,"file":369,"line":459},772,{"type":146,"name":260,"callback":248,"file":369,"line":461},780,{"type":196,"name":463,"callback":248,"file":369,"line":464},"auth_cookie_expiration",1187,{"type":146,"name":174,"callback":466,"file":467,"line":468},"flush_event_buffer","src\\Security\\SecurityLogger.php",116,{"type":146,"name":470,"callback":471,"file":467,"line":472},"wallet_up_lc_cleanup_security_logs","cleanup_old_logs",119,{"type":146,"name":474,"callback":475,"file":467,"line":476},"wallet_up_lc_process_security_alerts","process_alert_queue",127,{"type":146,"name":208,"callback":248,"file":478,"line":479},"src\\Security\\SecurityManager.php",73,{"type":196,"name":481,"callback":248,"file":478,"line":482},"oembed_response_data",84,{"type":196,"name":439,"callback":248,"file":478,"line":34},{"type":196,"name":485,"callback":248,"file":478,"line":32},"the_author",{"type":146,"name":178,"callback":248,"file":478,"line":181},{"type":196,"name":488,"callback":248,"priority":154,"file":478,"line":489},"wallet_up_lc_should_send_security_alert",138,{"type":146,"name":400,"callback":248,"priority":345,"file":478,"line":491},204,{"type":146,"name":220,"callback":248,"file":478,"line":493},366,{"type":146,"name":178,"callback":178,"priority":276,"file":478,"line":495},442,{"type":146,"name":147,"callback":497,"file":478,"line":498},"add_admin_settings",443,{"type":146,"name":367,"callback":248,"file":478,"line":500},446,{"type":196,"name":502,"callback":503,"priority":154,"file":504,"line":505},"wp_login_errors","sanitize_login_errors","src\\Security\\SecuritySanitizer.php",39,{"type":196,"name":396,"callback":507,"priority":508,"file":504,"line":509},"sanitize_authentication_response",40,41,{"type":146,"name":392,"callback":511,"file":504,"line":172},"remove_version_info",{"type":146,"name":279,"callback":513,"priority":276,"file":504,"line":206},"set_security_headers",{"type":196,"name":515,"callback":516,"file":504,"line":330},"wp_die_handler","secure_error_handler",{"type":146,"name":455,"callback":518,"file":504,"line":333},"sanitize_headers",{"type":196,"name":520,"callback":521,"priority":154,"file":504,"line":522},"style_loader_src","remove_version_from_assets",154,{"type":196,"name":524,"callback":521,"priority":154,"file":504,"line":263},"script_loader_src",{"type":146,"name":526,"callback":248,"file":504,"line":408},"wp_default_scripts",{"type":146,"name":528,"callback":248,"file":504,"line":529},"wp_footer",411,{"type":146,"name":288,"callback":248,"file":504,"line":531},445,{"type":196,"name":533,"callback":534,"priority":154,"file":535,"line":536},"wallet_up_lc_2fa_verification_error","enhance_error_with_drift_detection","src\\Security\\TOTPTimeDriftDetector.php",80,{"type":146,"name":538,"callback":539,"file":540,"line":541},"show_user_profile","render_user_2fa_settings","src\\Security\\TwoFactorAuth.php",89,{"type":146,"name":543,"callback":539,"file":540,"line":544},"edit_user_profile",90,{"type":146,"name":546,"callback":547,"file":540,"line":350},"personal_options_update","save_user_2fa_settings",{"type":146,"name":549,"callback":547,"file":540,"line":71},"edit_user_profile_update",{"type":146,"name":388,"callback":551,"file":540,"line":292},"add_2fa_login_field",{"type":196,"name":396,"callback":553,"priority":33,"file":540,"line":114},"verify_2fa_on_login",{"type":146,"name":216,"callback":555,"priority":154,"file":540,"line":556},"log_successful_2fa_login",97,{"type":146,"name":220,"callback":558,"file":540,"line":559},"add_admin_menu",117,{"type":146,"name":147,"callback":561,"file":540,"line":562},"enforce_2fa_setup_redirect",120,{"type":146,"name":166,"callback":564,"file":540,"line":181},"show_2fa_setup_notice",{"type":146,"name":216,"callback":566,"priority":345,"file":540,"line":184},"handle_grace_period_login",{"type":146,"name":255,"callback":322,"file":540,"line":568},125,{"type":146,"name":260,"callback":570,"file":540,"line":571},"enqueue_login_scripts",126,{"type":146,"name":573,"callback":574,"file":575,"line":576},"wallet_up_lc_process_email_queue","process_queue","src\\Security\\TwoFactorEmailNotifier.php",137,{"type":146,"name":578,"callback":579,"file":575,"line":489},"wallet_up_lc_check_2fa_enforcement","check_enforcement_notifications",{"type":146,"name":581,"callback":582,"file":575,"line":583},"wallet_up_lc_retry_failed_emails","retry_failed_emails",139,{"type":146,"name":585,"callback":586,"file":575,"line":587},"wallet_up_lc_cleanup_email_queue","clean_old_queue_items",140,{"type":196,"name":589,"callback":590,"file":575,"line":591},"cron_schedules","add_cron_schedules",160,{"type":146,"name":593,"callback":594,"priority":154,"file":575,"line":595},"wallet_up_lc_2fa_enforcement_enabled","on_enforcement_enabled",163,{"type":146,"name":597,"callback":598,"priority":154,"file":575,"line":599},"wallet_up_lc_2fa_enforcement_disabled","on_enforcement_disabled",164,{"type":146,"name":400,"callback":601,"file":575,"line":602},"check_failed_login_enforcement",167,{"type":146,"name":260,"callback":604,"priority":276,"file":605,"line":606},"enqueue_login_assets","src\\Utils\\AssetsManager.php",42,{"type":146,"name":608,"callback":609,"file":605,"line":172},"wp_enqueue_scripts","enqueue_frontend_assets",{"type":146,"name":255,"callback":611,"file":605,"line":206},"enqueue_admin_assets",{"type":146,"name":260,"callback":613,"priority":154,"file":605,"line":214},"add_login_inline_styles",{"type":146,"name":229,"callback":615,"priority":300,"file":605,"line":218},"add_admin_inline_styles",{"type":146,"name":392,"callback":248,"priority":617,"file":605,"line":618},99,1020,{"type":146,"name":147,"callback":620,"file":621,"line":505},"check_conflicts","src\\Utils\\ConflictDetector.php",{"type":146,"name":166,"callback":623,"file":621,"line":509},"display_conflict_notices",{"type":146,"name":255,"callback":322,"file":621,"line":206},{"type":196,"name":626,"callback":627,"priority":276,"file":628,"line":155},"doing_it_wrong_trigger_error","__return_false","wallet-up-login-customizer.php",{"type":196,"name":630,"callback":627,"priority":276,"file":628,"line":162},"deprecated_function_trigger_error",{"type":196,"name":632,"callback":627,"priority":276,"file":628,"line":164},"deprecated_file_trigger_error",{"type":196,"name":634,"callback":627,"priority":276,"file":628,"line":635},"deprecated_argument_trigger_error",37,{"type":146,"name":178,"callback":248,"file":628,"line":637},51,{"type":146,"name":392,"callback":248,"priority":276,"file":628,"line":242},{"type":146,"name":178,"callback":248,"priority":276,"file":628,"line":640},81,{"type":146,"name":178,"callback":178,"priority":276,"file":628,"line":642},148,{"type":146,"name":178,"callback":644,"priority":11,"file":628,"line":645},"early_security_init",151,{"type":146,"name":166,"callback":647,"file":628,"line":522},"security_status_notice",{"type":146,"name":649,"callback":650,"file":628,"line":651},"update_option_wallet_up_lc_2fa_settings","invalidate_2fa_cache",157,{"type":146,"name":653,"callback":650,"file":628,"line":654},"delete_option_wallet_up_lc_2fa_settings",158,{"type":146,"name":656,"callback":657,"priority":154,"file":628,"line":658},"add_user_meta","maybe_invalidate_2fa_cache_add",159,{"type":146,"name":660,"callback":661,"priority":154,"file":628,"line":591},"update_user_meta","maybe_invalidate_2fa_cache_update",{"type":146,"name":663,"callback":661,"priority":154,"file":628,"line":664},"delete_user_meta",161,{"type":146,"name":666,"callback":667,"priority":154,"file":628,"line":668},"wp_initialize_site","new_site_activation",165,{"type":146,"name":166,"callback":248,"file":628,"line":670},317,{"type":146,"name":672,"callback":673,"priority":345,"file":628,"line":674},"load-index.php","secure_redirect_dashboard",370,{"type":146,"name":233,"callback":676,"priority":226,"file":628,"line":677},"replace_dashboard_widgets",373,{"type":146,"name":220,"callback":679,"priority":226,"file":628,"line":680},"modify_dashboard_menu",376,{"type":146,"name":224,"callback":682,"priority":226,"file":628,"line":683},"modify_admin_bar_dashboard",379,{"type":146,"name":220,"callback":685,"file":628,"line":686},"register_settings_page",610,{"type":146,"name":688,"callback":689,"file":628,"line":690},"network_admin_menu","register_network_settings_page",614,{"type":146,"name":147,"callback":692,"file":628,"line":693},"register_settings",618,{"type":146,"name":147,"callback":695,"file":628,"line":696},"migrate_security_options",621,{"type":146,"name":147,"callback":698,"file":628,"line":699},"handle_create_security_tables",624,{"type":146,"name":255,"callback":255,"file":628,"line":701},627,{"type":146,"name":166,"callback":703,"file":628,"line":704},"language_availability_notice",652,{"type":196,"name":212,"callback":212,"priority":226,"file":628,"line":706},721,{"type":146,"name":166,"callback":248,"file":628,"line":708},1082,[710,715,719,722,725,728,732,735,738,741,743,744,746,747,750,751,754,755,757,758,762,765,766,769,772,775,778,781,784,788,792,795,799,801,805,808,811,815,819,822,824,826,828,830,832,834,836],{"action":711,"nopriv":712,"callback":713,"hasNonce":714,"hasCapCheck":714,"file":149,"line":33},"wallet_up_lc_sync_settings",false,"handle_ajax_sync",true,{"action":716,"nopriv":712,"callback":717,"hasNonce":714,"hasCapCheck":714,"file":718,"line":214},"wallet_up_lc_optimize_db","ajax_optimize_database","src\\Core\\AjaxHandler.php",{"action":720,"nopriv":712,"callback":721,"hasNonce":714,"hasCapCheck":714,"file":718,"line":222},"wallet_up_lc_export_diagnostics","ajax_export_diagnostics",{"action":723,"nopriv":712,"callback":724,"hasNonce":714,"hasCapCheck":714,"file":718,"line":330},"wallet_up_lc_run_health_check","ajax_run_health_check",{"action":726,"nopriv":712,"callback":727,"hasNonce":712,"hasCapCheck":712,"file":718,"line":239},"wallet_up_lc_dismiss_language_notice","dismiss_language_notice",{"action":729,"nopriv":712,"callback":730,"hasNonce":712,"hasCapCheck":712,"file":718,"line":731},"wallet_up_lc_export_settings","ajax_export_settings",60,{"action":733,"nopriv":712,"callback":734,"hasNonce":712,"hasCapCheck":712,"file":718,"line":242},"wallet_up_lc_import_settings","ajax_import_settings",{"action":736,"nopriv":712,"callback":737,"hasNonce":712,"hasCapCheck":712,"file":718,"line":245},"wallet_up_lc_reset_settings","ajax_reset_settings",{"action":739,"nopriv":712,"callback":740,"hasNonce":712,"hasCapCheck":712,"file":718,"line":340},"wallet_up_lc_test_security_email","ajax_test_security_email",{"action":742,"nopriv":714,"callback":251,"hasNonce":712,"hasCapCheck":712,"file":252,"line":654},"wallet_up_lc_ajax_login",{"action":742,"nopriv":712,"callback":251,"hasNonce":712,"hasCapCheck":712,"file":252,"line":658},{"action":742,"nopriv":714,"callback":745,"hasNonce":714,"hasCapCheck":712,"file":267,"line":556},"ajax_login",{"action":742,"nopriv":712,"callback":745,"hasNonce":714,"hasCapCheck":712,"file":267,"line":134},{"action":748,"nopriv":714,"callback":749,"hasNonce":714,"hasCapCheck":712,"file":267,"line":617},"wallet_up_lc_validate_username","ajax_validate_username",{"action":748,"nopriv":712,"callback":749,"hasNonce":714,"hasCapCheck":712,"file":267,"line":25},{"action":739,"nopriv":712,"callback":752,"hasNonce":714,"hasCapCheck":714,"file":369,"line":753},"handle_test_email",246,{"action":748,"nopriv":714,"callback":248,"hasNonce":712,"hasCapCheck":712,"file":478,"line":330},{"action":742,"nopriv":712,"callback":756,"hasNonce":712,"hasCapCheck":712,"file":504,"line":319},"sanitize_ajax_response",{"action":742,"nopriv":714,"callback":756,"hasNonce":712,"hasCapCheck":712,"file":504,"line":214},{"action":759,"nopriv":712,"callback":760,"hasNonce":712,"hasCapCheck":712,"file":504,"line":761},"wallet_up_lc_ajax_login_response","sanitize_ajax_login_response",180,{"action":763,"nopriv":712,"callback":764,"hasNonce":714,"hasCapCheck":712,"file":535,"line":135},"wallet_up_lc_check_time_sync","ajax_check_time_sync",{"action":763,"nopriv":714,"callback":764,"hasNonce":714,"hasCapCheck":712,"file":535,"line":482},{"action":767,"nopriv":712,"callback":768,"hasNonce":714,"hasCapCheck":714,"file":540,"line":25},"wallet_up_lc_generate_2fa_secret","ajax_generate_secret",{"action":770,"nopriv":712,"callback":771,"hasNonce":714,"hasCapCheck":714,"file":540,"line":365},"wallet_up_lc_verify_2fa_setup","ajax_verify_setup",{"action":773,"nopriv":712,"callback":774,"hasNonce":714,"hasCapCheck":714,"file":540,"line":296},"wallet_up_lc_disable_2fa","ajax_disable_2fa",{"action":776,"nopriv":712,"callback":777,"hasNonce":714,"hasCapCheck":714,"file":540,"line":301},"wallet_up_lc_regenerate_backup_codes","ajax_regenerate_backup_codes",{"action":779,"nopriv":712,"callback":780,"hasNonce":714,"hasCapCheck":712,"file":540,"line":305},"wallet_up_lc_trust_device","ajax_trust_device",{"action":782,"nopriv":712,"callback":783,"hasNonce":714,"hasCapCheck":714,"file":540,"line":308},"wallet_up_lc_reset_user_2fa","ajax_reset_user_2fa",{"action":785,"nopriv":712,"callback":786,"hasNonce":714,"hasCapCheck":714,"file":540,"line":787},"wallet_up_lc_load_2fa_users","ajax_load_2fa_users",108,{"action":789,"nopriv":712,"callback":790,"hasNonce":714,"hasCapCheck":714,"file":540,"line":791},"wallet_up_lc_get_user_2fa_details","ajax_get_user_2fa_details",109,{"action":793,"nopriv":712,"callback":794,"hasNonce":714,"hasCapCheck":714,"file":540,"line":32},"wallet_up_lc_update_user_2fa_settings","ajax_update_user_2fa_settings",{"action":796,"nopriv":714,"callback":797,"hasNonce":714,"hasCapCheck":712,"file":540,"line":798},"wallet_up_lc_check_2fa_status","ajax_check_2fa_status",113,{"action":796,"nopriv":712,"callback":797,"hasNonce":714,"hasCapCheck":712,"file":540,"line":800},114,{"action":802,"nopriv":712,"callback":803,"hasNonce":714,"hasCapCheck":714,"file":575,"line":804},"wallet_up_lc_send_test_2fa_email","ajax_send_test_email",170,{"action":573,"nopriv":712,"callback":806,"hasNonce":714,"hasCapCheck":714,"file":575,"line":807},"ajax_process_queue",171,{"action":581,"nopriv":712,"callback":809,"hasNonce":714,"hasCapCheck":714,"file":575,"line":810},"ajax_retry_failed",172,{"action":812,"nopriv":712,"callback":813,"hasNonce":714,"hasCapCheck":714,"file":575,"line":814},"wallet_up_lc_clear_email_queue","ajax_clear_queue",173,{"action":816,"nopriv":712,"callback":817,"hasNonce":714,"hasCapCheck":714,"file":575,"line":818},"wallet_up_lc_view_email_queue","ajax_view_queue",174,{"action":820,"nopriv":712,"callback":821,"hasNonce":714,"hasCapCheck":714,"file":621,"line":172},"wallet_up_lc_resolve_conflict","resolve_conflict",{"action":716,"nopriv":712,"callback":717,"hasNonce":712,"hasCapCheck":712,"file":628,"line":823},635,{"action":720,"nopriv":712,"callback":721,"hasNonce":712,"hasCapCheck":712,"file":628,"line":825},636,{"action":723,"nopriv":712,"callback":724,"hasNonce":712,"hasCapCheck":712,"file":628,"line":827},637,{"action":726,"nopriv":712,"callback":727,"hasNonce":714,"hasCapCheck":712,"file":628,"line":829},638,{"action":729,"nopriv":712,"callback":730,"hasNonce":714,"hasCapCheck":714,"file":628,"line":831},639,{"action":733,"nopriv":712,"callback":734,"hasNonce":714,"hasCapCheck":714,"file":628,"line":833},640,{"action":736,"nopriv":712,"callback":737,"hasNonce":714,"hasCapCheck":714,"file":628,"line":835},641,{"action":739,"nopriv":712,"callback":740,"hasNonce":714,"hasCapCheck":714,"file":628,"line":837},642,[],[],[841,842,845,847,848,850,852,853,855,857,858,859,861],{"hook":170,"callback":170,"file":149,"line":509},{"hook":367,"callback":367,"file":843,"line":844},"src\\Core\\Activator.php",133,{"hook":846,"callback":846,"file":843,"line":489},"wallet_up_lc_cleanup_expired_blocks",{"hook":360,"callback":360,"file":362,"line":556},{"hook":367,"callback":367,"file":369,"line":849},1885,{"hook":470,"callback":470,"file":467,"line":851},123,{"hook":474,"callback":474,"file":467,"line":256},{"hook":367,"callback":367,"file":478,"line":854},196,{"hook":573,"callback":573,"file":575,"line":856},144,{"hook":578,"callback":578,"file":575,"line":642},{"hook":581,"callback":581,"file":575,"line":261},{"hook":585,"callback":585,"file":575,"line":860},156,{"hook":573,"callback":573,"file":575,"line":457},14,{"dangerousFunctions":864,"sqlUsage":865,"outputEscaping":939,"fileOperations":276,"externalRequests":1253,"nonceChecks":172,"capabilityChecks":335,"bundledLibraries":1254},[],{"prepared":866,"raw":867,"locations":868},132,34,[869,872,873,874,876,878,880,882,885,887,889,891,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,931,933,935,937],{"file":718,"line":870,"context":871},143,"$wpdb->query() with variable interpolation",{"file":718,"line":591,"context":871},{"file":718,"line":352,"context":871},{"file":362,"line":875,"context":871},995,{"file":362,"line":877,"context":871},1004,{"file":362,"line":879,"context":871},1013,{"file":362,"line":881,"context":871},1024,{"file":362,"line":883,"context":884},1042,"$wpdb->get_var() with variable interpolation",{"file":362,"line":886,"context":884},1044,{"file":362,"line":888,"context":884},1050,{"file":362,"line":890,"context":884},1056,{"file":362,"line":892,"context":893},1062,"$wpdb->get_results() with variable interpolation",{"file":362,"line":895,"context":893},1070,{"file":467,"line":897,"context":871},292,{"file":467,"line":899,"context":893},673,{"file":467,"line":901,"context":871},750,{"file":467,"line":903,"context":871},762,{"file":467,"line":905,"context":884},789,{"file":467,"line":907,"context":893},796,{"file":467,"line":909,"context":893},808,{"file":467,"line":911,"context":893},818,{"file":467,"line":913,"context":884},830,{"file":467,"line":915,"context":884},838,{"file":467,"line":917,"context":884},913,{"file":467,"line":919,"context":893},922,{"file":540,"line":921,"context":884},630,{"file":540,"line":923,"context":884},2316,{"file":540,"line":925,"context":884},2326,{"file":540,"line":927,"context":884},2336,{"file":929,"line":930,"context":884},"templates\\admin\\settings-page.php",927,{"file":929,"line":932,"context":884},939,{"file":929,"line":934,"context":884},952,{"file":929,"line":936,"context":884},1610,{"file":628,"line":938,"context":884},2032,{"escaped":704,"rawEcho":940,"locations":941},176,[942,945,946,947,948,949,951,953,954,956,958,960,962,964,966,968,970,972,974,976,978,980,981,983,985,986,987,989,991,993,995,997,999,1001,1003,1006,1007,1008,1009,1010,1011,1012,1014,1015,1016,1017,1018,1019,1020,1021,1023,1025,1027,1028,1029,1030,1031,1033,1034,1035,1036,1037,1039,1040,1041,1043,1045,1047,1049,1051,1052,1054,1056,1058,1060,1061,1062,1063,1065,1067,1069,1071,1073,1075,1077,1079,1081,1083,1084,1086,1088,1090,1092,1093,1095,1097,1099,1101,1103,1104,1106,1108,1109,1111,1113,1115,1117,1119,1121,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1241,1243,1245,1247,1249,1251],{"file":149,"line":943,"context":944},279,"raw output",{"file":718,"line":436,"context":944},{"file":187,"line":658,"context":944},{"file":187,"line":591,"context":944},{"file":202,"line":457,"context":944},{"file":202,"line":950,"context":944},356,{"file":202,"line":952,"context":944},357,{"file":202,"line":680,"context":944},{"file":202,"line":955,"context":944},377,{"file":202,"line":957,"context":944},406,{"file":267,"line":959,"context":944},454,{"file":267,"line":961,"context":944},908,{"file":317,"line":963,"context":944},270,{"file":324,"line":965,"context":944},359,{"file":324,"line":967,"context":944},360,{"file":324,"line":969,"context":944},361,{"file":324,"line":971,"context":944},380,{"file":324,"line":973,"context":944},381,{"file":324,"line":975,"context":944},410,{"file":346,"line":977,"context":944},166,{"file":346,"line":979,"context":944},378,{"file":346,"line":683,"context":944},{"file":346,"line":982,"context":944},403,{"file":346,"line":984,"context":944},404,{"file":346,"line":957,"context":944},{"file":354,"line":977,"context":944},{"file":354,"line":988,"context":944},392,{"file":354,"line":990,"context":944},393,{"file":369,"line":992,"context":944},2376,{"file":478,"line":994,"context":944},430,{"file":540,"line":996,"context":944},1177,{"file":540,"line":998,"context":944},1195,{"file":540,"line":1000,"context":944},1199,{"file":540,"line":1002,"context":944},2227,{"file":1004,"line":1005,"context":944},"templates\\admin\\network-settings-page.php",17,{"file":929,"line":867,"context":944},{"file":929,"line":162,"context":944},{"file":929,"line":227,"context":944},{"file":929,"line":333,"context":944},{"file":929,"line":242,"context":944},{"file":929,"line":340,"context":944},{"file":929,"line":1013,"context":944},69,{"file":929,"line":479,"context":944},{"file":929,"line":135,"context":944},{"file":929,"line":482,"context":944},{"file":929,"line":541,"context":944},{"file":929,"line":556,"context":944},{"file":929,"line":134,"context":944},{"file":929,"line":305,"context":944},{"file":929,"line":1022,"context":944},111,{"file":929,"line":1024,"context":944},112,{"file":929,"line":1026,"context":944},118,{"file":929,"line":568,"context":944},{"file":929,"line":256,"context":944},{"file":929,"line":489,"context":944},{"file":929,"line":583,"context":944},{"file":929,"line":1032,"context":944},147,{"file":929,"line":522,"context":944},{"file":929,"line":263,"context":944},{"file":929,"line":860,"context":944},{"file":929,"line":352,"context":944},{"file":929,"line":1038,"context":944},169,{"file":929,"line":804,"context":944},{"file":929,"line":807,"context":944},{"file":929,"line":1042,"context":944},178,{"file":929,"line":1044,"context":944},185,{"file":929,"line":1046,"context":944},186,{"file":929,"line":1048,"context":944},187,{"file":929,"line":1050,"context":944},195,{"file":929,"line":854,"context":944},{"file":929,"line":1053,"context":944},201,{"file":929,"line":1055,"context":944},209,{"file":929,"line":1057,"context":944},210,{"file":929,"line":1059,"context":944},222,{"file":929,"line":398,"context":944},{"file":929,"line":419,"context":944},{"file":929,"line":753,"context":944},{"file":929,"line":1064,"context":944},252,{"file":929,"line":1066,"context":944},259,{"file":929,"line":1068,"context":944},265,{"file":929,"line":1070,"context":944},272,{"file":929,"line":1072,"context":944},278,{"file":929,"line":1074,"context":944},282,{"file":929,"line":1076,"context":944},283,{"file":929,"line":1078,"context":944},286,{"file":929,"line":1080,"context":944},294,{"file":929,"line":1082,"context":944},295,{"file":929,"line":434,"context":944},{"file":929,"line":1085,"context":944},332,{"file":929,"line":1087,"context":944},341,{"file":929,"line":1089,"context":944},349,{"file":929,"line":1091,"context":944},350,{"file":929,"line":457,"context":944},{"file":929,"line":1094,"context":944},362,{"file":929,"line":1096,"context":944},363,{"file":929,"line":1098,"context":944},368,{"file":929,"line":1100,"context":944},369,{"file":929,"line":1102,"context":944},375,{"file":929,"line":955,"context":944},{"file":929,"line":1105,"context":944},383,{"file":929,"line":1107,"context":944},386,{"file":929,"line":988,"context":944},{"file":929,"line":1110,"context":944},394,{"file":929,"line":1112,"context":944},489,{"file":929,"line":1114,"context":944},490,{"file":929,"line":1116,"context":944},528,{"file":929,"line":1118,"context":944},709,{"file":929,"line":1120,"context":944},747,{"file":929,"line":909,"context":944},{"file":929,"line":1123,"context":944},891,{"file":929,"line":1125,"context":944},899,{"file":929,"line":1127,"context":944},900,{"file":929,"line":1129,"context":944},963,{"file":929,"line":1131,"context":944},967,{"file":929,"line":1133,"context":944},971,{"file":929,"line":1135,"context":944},975,{"file":929,"line":1137,"context":944},981,{"file":929,"line":1139,"context":944},985,{"file":929,"line":1141,"context":944},991,{"file":929,"line":1143,"context":944},1068,{"file":929,"line":895,"context":944},{"file":929,"line":1146,"context":944},1072,{"file":929,"line":1148,"context":944},1104,{"file":929,"line":1150,"context":944},1295,{"file":929,"line":1152,"context":944},1296,{"file":929,"line":1154,"context":944},1320,{"file":929,"line":1156,"context":944},1321,{"file":929,"line":1158,"context":944},1453,{"file":929,"line":1160,"context":944},1510,{"file":929,"line":1162,"context":944},1511,{"file":929,"line":1164,"context":944},1513,{"file":929,"line":1166,"context":944},1519,{"file":929,"line":1168,"context":944},1520,{"file":929,"line":1170,"context":944},1531,{"file":929,"line":1172,"context":944},1543,{"file":929,"line":1174,"context":944},1551,{"file":929,"line":1176,"context":944},1562,{"file":929,"line":1178,"context":944},1572,{"file":929,"line":1180,"context":944},1683,{"file":929,"line":1182,"context":944},1695,{"file":929,"line":1184,"context":944},1698,{"file":929,"line":1186,"context":944},1701,{"file":929,"line":1188,"context":944},1712,{"file":929,"line":1190,"context":944},1713,{"file":929,"line":1192,"context":944},1714,{"file":628,"line":1013,"context":944},{"file":628,"line":1195,"context":944},321,{"file":628,"line":1197,"context":944},473,{"file":628,"line":1199,"context":944},479,{"file":628,"line":1201,"context":944},480,{"file":628,"line":1203,"context":944},483,{"file":628,"line":1205,"context":944},493,{"file":628,"line":1207,"context":944},812,{"file":628,"line":1209,"context":944},813,{"file":628,"line":1211,"context":944},822,{"file":628,"line":1213,"context":944},831,{"file":628,"line":1215,"context":944},832,{"file":628,"line":1217,"context":944},1090,{"file":628,"line":1219,"context":944},1105,{"file":628,"line":1221,"context":944},1106,{"file":628,"line":1223,"context":944},1580,{"file":628,"line":1225,"context":944},1617,{"file":628,"line":1227,"context":944},1708,{"file":628,"line":1229,"context":944},1784,{"file":628,"line":1231,"context":944},1839,{"file":628,"line":1233,"context":944},1857,{"file":628,"line":1235,"context":944},1863,{"file":628,"line":1237,"context":944},1871,{"file":628,"line":1239,"context":944},1877,{"file":628,"line":849,"context":944},{"file":628,"line":1242,"context":944},1891,{"file":628,"line":1244,"context":944},1962,{"file":628,"line":1246,"context":944},2329,{"file":628,"line":1248,"context":944},2345,{"file":628,"line":1250,"context":944},2353,{"file":628,"line":1252,"context":944},2435,2,[],[1256,1280,1291,1315,1326,1339,1350,1361,1379,1392,1405,1416,1448,1464],{"entryPoint":1257,"graph":1258,"unsanitizedCount":11,"severity":1279},"ajax_export_diagnostics (src\\Core\\AjaxHandler.php:255)",{"nodes":1259,"edges":1276},[1260,1265,1270,1272],{"id":1261,"type":1262,"label":1263,"file":718,"line":1264},"n0","source","$_SERVER",271,{"id":1266,"type":1267,"label":1268,"file":718,"line":434,"wp_function":1269},"n1","sink","header() [Header Injection]","header",{"id":1271,"type":1262,"label":1263,"file":718,"line":1264},"n2",{"id":1273,"type":1267,"label":1274,"file":718,"line":436,"wp_function":1275},"n3","echo() [XSS]","echo",[1277,1278],{"from":1261,"to":1266,"sanitized":714},{"from":1271,"to":1273,"sanitized":714},"low",{"entryPoint":1281,"graph":1282,"unsanitizedCount":11,"severity":1279},"\u003CAjaxHandler> (src\\Core\\AjaxHandler.php:0)",{"nodes":1283,"edges":1288},[1284,1285,1286,1287],{"id":1261,"type":1262,"label":1263,"file":718,"line":1264},{"id":1266,"type":1267,"label":1268,"file":718,"line":434,"wp_function":1269},{"id":1271,"type":1262,"label":1263,"file":718,"line":1264},{"id":1273,"type":1267,"label":1274,"file":718,"line":436,"wp_function":1275},[1289,1290],{"from":1261,"to":1266,"sanitized":714},{"from":1271,"to":1273,"sanitized":714},{"entryPoint":1292,"graph":1293,"unsanitizedCount":11,"severity":1279},"render_admin_page (src\\Security\\TwoFactorAuth.php:2211)",{"nodes":1294,"edges":1311},[1295,1298,1301,1304,1305,1309],{"id":1261,"type":1262,"label":1296,"file":540,"line":1297},"$_POST['max_attempts']",2223,{"id":1266,"type":1267,"label":1299,"file":540,"line":1297,"wp_function":1300},"update_option() [Settings Manipulation]","update_option",{"id":1271,"type":1262,"label":1302,"file":540,"line":1303},"$_POST['lockout_time']",2224,{"id":1273,"type":1267,"label":1299,"file":540,"line":1303,"wp_function":1300},{"id":1306,"type":1262,"label":1307,"file":540,"line":1308},"n4","$_POST['trust_duration']",2225,{"id":1310,"type":1267,"label":1299,"file":540,"line":1308,"wp_function":1300},"n5",[1312,1313,1314],{"from":1261,"to":1266,"sanitized":714},{"from":1271,"to":1273,"sanitized":714},{"from":1306,"to":1310,"sanitized":714},{"entryPoint":1316,"graph":1317,"unsanitizedCount":11,"severity":1279},"\u003Csettings-page> (templates\\admin\\settings-page.php:0)",{"nodes":1318,"edges":1324},[1319,1322],{"id":1261,"type":1262,"label":1320,"file":929,"line":1321},"$_SERVER (x2)",697,{"id":1266,"type":1267,"label":1274,"file":929,"line":1323,"wp_function":1275},700,[1325],{"from":1261,"to":1266,"sanitized":714},{"entryPoint":1327,"graph":1328,"unsanitizedCount":11,"severity":1279},"import_network_settings (wallet-up-login-customizer.php:1846)",{"nodes":1329,"edges":1337},[1330,1333],{"id":1261,"type":1262,"label":1331,"file":628,"line":1332},"$_FILES",1875,{"id":1266,"type":1267,"label":1334,"file":628,"line":1335,"wp_function":1336},"file_get_contents() [SSRF\u002FLFI]",1881,"file_get_contents",[1338],{"from":1261,"to":1266,"sanitized":714},{"entryPoint":1340,"graph":1341,"unsanitizedCount":11,"severity":1279},"ajax_import_settings (wallet-up-login-customizer.php:2444)",{"nodes":1342,"edges":1348},[1343,1346],{"id":1261,"type":1262,"label":1344,"file":628,"line":1345},"$_POST (x19)",2452,{"id":1266,"type":1267,"label":1299,"file":628,"line":1347,"wp_function":1300},2479,[1349],{"from":1261,"to":1266,"sanitized":714},{"entryPoint":1351,"graph":1352,"unsanitizedCount":11,"severity":1279},"\u003Cwallet-up-login-customizer> (wallet-up-login-customizer.php:0)",{"nodes":1353,"edges":1358},[1354,1355,1356,1357],{"id":1261,"type":1262,"label":1331,"file":628,"line":1332},{"id":1266,"type":1267,"label":1334,"file":628,"line":1335,"wp_function":1336},{"id":1271,"type":1262,"label":1344,"file":628,"line":1345},{"id":1273,"type":1267,"label":1299,"file":628,"line":1347,"wp_function":1300},[1359,1360],{"from":1261,"to":1266,"sanitized":714},{"from":1271,"to":1273,"sanitized":714},{"entryPoint":1362,"graph":1363,"unsanitizedCount":276,"severity":1378},"ajax_verify_setup (src\\Security\\TwoFactorAuth.php:1433)",{"nodes":1364,"edges":1375},[1365,1368,1371],{"id":1261,"type":1262,"label":1366,"file":540,"line":1367},"$_POST",1464,{"id":1266,"type":1369,"label":1370,"file":540,"line":1367},"transform","→ is_rate_limited()",{"id":1271,"type":1267,"label":1372,"file":540,"line":1373,"wp_function":1374},"get_var() [SQLi]",1286,"get_var",[1376,1377],{"from":1261,"to":1266,"sanitized":712},{"from":1266,"to":1271,"sanitized":712},"high",{"entryPoint":1380,"graph":1381,"unsanitizedCount":276,"severity":1378},"ajax_disable_2fa (src\\Security\\TwoFactorAuth.php:1556)",{"nodes":1382,"edges":1389},[1383,1385,1387],{"id":1261,"type":1262,"label":1366,"file":540,"line":1384},1579,{"id":1266,"type":1369,"label":1386,"file":540,"line":1384},"→ is_2fa_enforced()",{"id":1271,"type":1267,"label":1372,"file":540,"line":1388,"wp_function":1374},596,[1390,1391],{"from":1261,"to":1266,"sanitized":712},{"from":1266,"to":1271,"sanitized":712},{"entryPoint":1393,"graph":1394,"unsanitizedCount":276,"severity":1378},"ajax_regenerate_backup_codes (src\\Security\\TwoFactorAuth.php:1593)",{"nodes":1395,"edges":1402},[1396,1398,1400],{"id":1261,"type":1262,"label":1366,"file":540,"line":1397},1615,{"id":1266,"type":1369,"label":1399,"file":540,"line":1397},"→ is_2fa_enabled()",{"id":1271,"type":1267,"label":1372,"file":540,"line":1401,"wp_function":1374},521,[1403,1404],{"from":1261,"to":1266,"sanitized":712},{"from":1266,"to":1271,"sanitized":712},{"entryPoint":1406,"graph":1407,"unsanitizedCount":276,"severity":1378},"ajax_check_2fa_status (src\\Security\\TwoFactorAuth.php:1672)",{"nodes":1408,"edges":1413},[1409,1411,1412],{"id":1261,"type":1262,"label":1366,"file":540,"line":1410},1690,{"id":1266,"type":1369,"label":1399,"file":540,"line":1410},{"id":1271,"type":1267,"label":1372,"file":540,"line":1401,"wp_function":1374},[1414,1415],{"from":1261,"to":1266,"sanitized":712},{"from":1266,"to":1271,"sanitized":712},{"entryPoint":1417,"graph":1418,"unsanitizedCount":276,"severity":1378},"ajax_get_user_2fa_details (src\\Security\\TwoFactorAuth.php:1937)",{"nodes":1419,"edges":1442},[1420,1422,1426,1428,1430,1431,1435,1438,1440],{"id":1261,"type":1262,"label":1366,"file":540,"line":1421},1943,{"id":1266,"type":1267,"label":1423,"file":540,"line":1424,"wp_function":1425},"get_row() [SQLi]",1958,"get_row",{"id":1271,"type":1262,"label":1427,"file":540,"line":1421},"$_POST (x2)",{"id":1273,"type":1267,"label":1372,"file":540,"line":1429,"wp_function":1374},1967,{"id":1306,"type":1262,"label":1366,"file":540,"line":1421},{"id":1310,"type":1267,"label":1432,"file":540,"line":1433,"wp_function":1434},"get_results() [SQLi]",1986,"get_results",{"id":1436,"type":1262,"label":1366,"file":540,"line":1437},"n6",2024,{"id":1439,"type":1369,"label":1386,"file":540,"line":1437},"n7",{"id":1441,"type":1267,"label":1372,"file":540,"line":1388,"wp_function":1374},"n8",[1443,1444,1445,1446,1447],{"from":1261,"to":1266,"sanitized":714},{"from":1271,"to":1273,"sanitized":714},{"from":1306,"to":1310,"sanitized":714},{"from":1436,"to":1439,"sanitized":712},{"from":1439,"to":1441,"sanitized":712},{"entryPoint":1449,"graph":1450,"unsanitizedCount":276,"severity":1378},"ajax_update_user_2fa_settings (src\\Security\\TwoFactorAuth.php:2037)",{"nodes":1451,"edges":1460},[1452,1454,1456,1458,1459],{"id":1261,"type":1262,"label":1366,"file":540,"line":1453},2045,{"id":1266,"type":1267,"label":1423,"file":540,"line":1455,"wp_function":1425},2060,{"id":1271,"type":1262,"label":1366,"file":540,"line":1457},2121,{"id":1273,"type":1369,"label":1399,"file":540,"line":1457},{"id":1306,"type":1267,"label":1372,"file":540,"line":1401,"wp_function":1374},[1461,1462,1463],{"from":1261,"to":1266,"sanitized":714},{"from":1271,"to":1273,"sanitized":712},{"from":1273,"to":1306,"sanitized":712},{"entryPoint":1465,"graph":1466,"unsanitizedCount":1525,"severity":1378},"\u003CTwoFactorAuth> (src\\Security\\TwoFactorAuth.php:0)",{"nodes":1467,"edges":1511},[1468,1471,1473,1474,1475,1476,1477,1478,1479,1480,1482,1484,1486,1489,1492,1494,1496,1498,1500,1502,1504,1507,1509],{"id":1261,"type":1262,"label":1469,"file":540,"line":1470},"$_POST (x4)",1675,{"id":1266,"type":1267,"label":1423,"file":540,"line":1472,"wp_function":1425},1843,{"id":1271,"type":1262,"label":1427,"file":540,"line":1421},{"id":1273,"type":1267,"label":1372,"file":540,"line":1429,"wp_function":1374},{"id":1306,"type":1262,"label":1366,"file":540,"line":1421},{"id":1310,"type":1267,"label":1432,"file":540,"line":1433,"wp_function":1434},{"id":1436,"type":1262,"label":1296,"file":540,"line":1297},{"id":1439,"type":1267,"label":1299,"file":540,"line":1297,"wp_function":1300},{"id":1441,"type":1262,"label":1302,"file":540,"line":1303},{"id":1481,"type":1267,"label":1299,"file":540,"line":1303,"wp_function":1300},"n9",{"id":1483,"type":1262,"label":1307,"file":540,"line":1308},"n10",{"id":1485,"type":1267,"label":1299,"file":540,"line":1308,"wp_function":1300},"n11",{"id":1487,"type":1262,"label":1366,"file":540,"line":1488},"n12",1806,{"id":1490,"type":1267,"label":1274,"file":540,"line":1491,"wp_function":1275},"n13",2265,{"id":1493,"type":1262,"label":1366,"file":540,"line":1367},"n14",{"id":1495,"type":1369,"label":1370,"file":540,"line":1367},"n15",{"id":1497,"type":1267,"label":1372,"file":540,"line":1373,"wp_function":1374},"n16",{"id":1499,"type":1262,"label":1427,"file":540,"line":1384},"n17",{"id":1501,"type":1369,"label":1386,"file":540,"line":1384},"n18",{"id":1503,"type":1267,"label":1372,"file":540,"line":1388,"wp_function":1374},"n19",{"id":1505,"type":1262,"label":1506,"file":540,"line":1397},"n20","$_POST (x3)",{"id":1508,"type":1369,"label":1399,"file":540,"line":1397},"n21",{"id":1510,"type":1267,"label":1372,"file":540,"line":1401,"wp_function":1374},"n22",[1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524],{"from":1261,"to":1266,"sanitized":714},{"from":1271,"to":1273,"sanitized":714},{"from":1306,"to":1310,"sanitized":714},{"from":1436,"to":1439,"sanitized":714},{"from":1441,"to":1481,"sanitized":714},{"from":1483,"to":1485,"sanitized":714},{"from":1487,"to":1490,"sanitized":714},{"from":1493,"to":1495,"sanitized":712},{"from":1495,"to":1497,"sanitized":712},{"from":1499,"to":1501,"sanitized":712},{"from":1501,"to":1503,"sanitized":712},{"from":1505,"to":1508,"sanitized":712},{"from":1508,"to":1510,"sanitized":712},6,{"summary":1527,"deductions":1528},"The wallet-up-login-customizer plugin exhibits a mixed security posture. While it demonstrates good practices in areas like SQL query preparation and output escaping, and boasts a clean vulnerability history, significant concerns arise from its attack surface and taint analysis.  Specifically, a notable number of AJAX handlers lack proper authentication checks, creating potential entry points for unauthorized actions. The taint analysis reveals a critical finding: multiple flows with unsanitized paths, indicating a risk of injection vulnerabilities if user-supplied data is not handled with extreme care.  Despite the absence of recorded CVEs, these static analysis findings highlight areas where the plugin is vulnerable to exploitation.",[1529,1531],{"reason":1530,"points":154},"AJAX handlers without auth checks",{"reason":1532,"points":1533},"Taint flows with unsanitized paths",15,"2026-03-17T07:29:48.050Z",{"wat":1536,"direct":1549},{"assetPaths":1537,"generatorPatterns":1542,"scriptPaths":1543,"versionParams":1544},[1538,1539,1540,1541],"\u002Fwp-content\u002Fplugins\u002Fwallet-up-login-customizer\u002Fassets\u002Fcss\u002Flogin-customizer.css","\u002Fwp-content\u002Fplugins\u002Fwallet-up-login-customizer\u002Fassets\u002Fjs\u002Flogin-customizer.js","\u002Fwp-content\u002Fplugins\u002Fwallet-up-login-customizer\u002Fassets\u002Fjs\u002Flogin-customizer-admin.js","\u002Fwp-content\u002Fplugins\u002Fwallet-up-login-customizer\u002Fassets\u002Fcss\u002Fadmin.css",[],[1539,1540],[1545,1546,1547,1548],"wallet-up-login-customizer\u002Fassets\u002Fcss\u002Flogin-customizer.css?ver=","wallet-up-login-customizer\u002Fassets\u002Fjs\u002Flogin-customizer.js?ver=","wallet-up-login-customizer\u002Fassets\u002Fjs\u002Flogin-customizer-admin.js?ver=","wallet-up-login-customizer\u002Fassets\u002Fcss\u002Fadmin.css?ver=",{"cssClasses":1550,"htmlComments":1552,"htmlAttributes":1554,"restEndpoints":1556,"jsGlobals":1559,"shortcodeOutput":1562},[1551],"wallet-up-lc-login-customizer",[1553],"\u003C!-- Wallet Up Login Customizer -->",[1555],"data-wallet-up-lc-login",[1557,1558],"\u002Fwp-json\u002Fwallet-up-lc\u002Fv1\u002Fvalidate-username","\u002Fwp-json\u002Fwallet-up-lc\u002Fv1\u002Fajax-login",[1560,1561],"WalletUpLoginCustomizer","walletUpLoginCustomizerAdmin",[]]