Login Security Solution
A simple way to lock down login security for multisite and regular WordPress installations. Blocks brute force and dictionary attacks without inconveniencing legitimate users or administrators Tracks IP addresses, usernames, and passwords Monitors logins made by form submissions, XML-RPC requests and auth cookies If a login failure uses data matching a past failure, the plugin slows down response times. The more failures, the longer the delay. This limits attackers ability to effectively probe your site, so they’ll give up and go find an easier target. If an account seems breached, the “user” is immediately logged out and forced to use WordPress’ password reset utility. This prevents any damage from being done and verifies the user’s identity. But if the user is coming in from an IP address they have used in the past, an email is sent to the user making sure it was them logging in. All without intervention by an administrator. Can notify the administrator of attacks and breaches Supports IPv6 Thoroughly examines and enforces password strength. Includes full UTF-8 character set support if PHP’s mbstring extension is enabled. The tests have caught every password dictionary entry I’ve tried. Minimum length (customizable) Doesn’t match blog info Doesn’t match user data Must either have numbers, punctuation, upper and lower case characters or be very long. Note: alphabets with only one case (e.g. Arabic, Hebrew, etc.) are automatically exempted from the upper/lower case requirement. Non-sequential codepoints Non-sequential keystrokes (custom sequence files can be added) Not in the password dictionary files you’ve provided (if any) Decodes “leet” speak The password/phrase is not found by the dict dictionary program (if available) Blocks discovering user names via the “?author=” query string Password aging (optional) (not recommended) Users need to change password every x days (customizable) Grace period for picking a new password (customizable) Remembers old passwords (quantity is customizable) Administrators can require all users to change their passwords Done via a flag in each user’s database entry No mail is sent, keeping your server off of spam lists Logs out idle sessions (optional) (idle time is customizable) Maintenance mode (optional) Publicly viewable content remains visible Disables logins by all users, except administrators Logs out existing sessions, except administrators Disables posting of comments Useful for maintenance or emergency reasons This is separate from WordPress’ maintenance mode Prevents information disclosures from failed logins Improvements Over Similar WordPress Plugins Multisite network support Monitors authentication cookies for bad user names and hashes Tracks logins from XML-RPC requests Adjusts WordPress’ password policy user interfaces Takes security seriously so the plugin itself does not open your site to SQL, HTML, or header injection vulnerabilities Notice-free code means no information disclosures if display_errors is on and error_reporting includes E_NOTICE Only loads files, actions, and filters needed for enabled options and the page’s context Provides an option to have deactivation remove all of this plugin’s data from the database Uses WordPress’ features rather than fighting or overriding them No advertising, promotions, or beacons Proper internationalization support Clean, documented code Unit tests covering 100% of the main class Internationalized unit tests For reference, the similar plugins include: 6Scan Security Better WP Security Enforce Strong Password Force Strong Passwords Limit Login Attempts Login Lock Login LockDown PMC Lockdown Simple Login Lockdown Wordfence Security WP Login Security WP Login Security 2 Compatibility with Other Plugins Some plugins provide similar functionality. These overlaps can lead to conflicts during program execution. Please read the FAQ! Translations Deutsche, Deutschland (German, Germany) (de_DE) by Christian Foellmann Français, français (French, France) (fr_FR) by mermouy and and Fx Bénard Italiano, Italia (Italian, Italy) (it_IT) by Daniele Passalacqua 日本語, 日本国 (Japanese, Japan) (ja_JP) by motoyamayuki Nederlands, Nederland (Dutch, Netherlands) (nl_NL) by Friso van Wieringen polski, Polska (Polish, Poland) (pl_PL) by Michał Seweryniak miniol Português, Brasil (Portugese, Brazil) (pt_BR) by Valdir Trombini suomi, Suomi (Finnish, Finland) (fi_FI) by Juha Remes Newman101 Source Code, Bugs, and Feature Requests Development of this plugin happens on GitHub. Please submit bug and feature requests, pull requests, wiki entries there. Releases are then squashed and pushed to WordPress’ Plugins SVN repository. This division is necessary due having being chastised that “the Plugins SVN repository is a release system, not a development system.” Old tickets are in the Plugins Trac. Strong, Unique Passwords Are Important Yeah, creating, storing/remembering, and using a different, strong password for each site you use is a hassle. But it is absolutely necessary. Password lists get stolen on a regular basis from big name sites (like Linkedin for example!). Criminals then have unlimited time to decode the passwords. In general, 50% of those passwords are so weak they get figured out in a matter of seconds. Plus there are computers on the Internet dedicated to pounding the sites with login attempts, hoping to get lucky. Many people use the same password for multiple sites. Once an attacker figures out your password on one site, they’ll try it on your accounts at other sites. It gets ugly very fast. But don’t despair! There are good, free tools that make doing the right thing a piece of cake. For example: KeePassX, KeePass, or 1Password Securing Your WordPress Site is Important You’re probably thinking “There’s nothing valuable on my website. No one will bother breaking into it.” What you need to realize is that attackers are going after your visitors. They put stealth code on your website that pushes malware into your readers’ browsers. According to SophosLabs more than 30,000 websites are infected every day and 80% of those infected sites are legitimate. Eighty-five percent of all malware, including viruses, worms, spyware, adware and Trojans, comes from the web. Today, drive-by downloads have become the top web threat. — Security Threat Report 2012 So if your site does get cracked, not only do you waste hours cleaning up, your reputation gets sullied, security software flags your site as dangerous, and worst of all, you’ve inadvertently helped infect the computers of your clients and friends. Oh, and if the attack involves malware, that malware has probably gotten itself into your computer. Actions login_security_solution_insert_fail login_security_solution_notify_breach login_security_solution_notify_fail login_security_solution_fail_tier_dos Filters The following filters allow customizing email subjects and messages. If either the “subject”or “message” filters in a method returns an empty string, the given method will skip calling wp_mail(). login_security_solution_notify_breach_subject login_security_solution_notify_breach_message login_security_solution_notify_breach_user_subject login_security_solution_notify_breach_user_message login_security_solution_notify_fail_subject login_security_solution_notify_fail_message Unit Tests A thorough set of unit tests are found in the tests directory. The plugin needs to be installed and activated before running the tests. To execute the tests, cd into this plugin’s directory and call phpunit tests Translations can be tested by changing the WPLANG value in wp-config.php. Please note that the tests make extensive use of database transactions. Many tests will be skipped if your wp_options and wp_usermeta tables are not using the InnoDB storage engine. Removal This plugin offers the ability to remove all of this plugin’s settings from your database. Go to WordPress’ “Plugins” admin interface and click the “Settings” link for this plugin. In the “Deactivate” entry, click the “Yes, delete the damn data” button and save the form. Use WordPress’ “Plugins” admin interface to click the “Deactivate” link Remove the login-security-solution directory from the server In the event you didn’t pick the “Yes, delete the damn data” option or you manually deleted the plugin, you can get rid of the settings by running three queries. These queries are exapmles, using the default table name prefix of, wp_. If you have changed your database prefix, adjust the queries accordingly. DROP TABLE wp_login_security_solution_fail; DELETE FROM wp_options WHERE option_name LIKE 'login-security-solution%'; DELETE FROM wp_usermeta WHERE meta_key LIKE 'login-security-solution%';= Inspiration and References = Password Research Why passwords have never been weaker — and crackers have never been stronger, Dan Goodin You can never have too many passwords: techniques for evaluating a huge corpus, Joseph Bonneau Analyzing Password Strength, Martin Devillers Consumer Password Worst Practices, Imperva Preventing Brute Force Attacks on your Web Login, Bryan Rite Password Strength, Randall Munroe Technical Info The Extreme UTF-8 Table, infosnel.nl A Recommendation for IPv6 Address Text Representation, Seiichi Kawamura and Masanobu Kawashima Password Lists Dazzlepod Password List, Dazzlepod Common Passwords, Fravia The Top 500 Worst Passwords of All Time, Mark Burnett To Do Provide a user interface to the fail table.
Top keywords
- login21×1.44%
- password20×1.37%
- security20×1.37%
- login security14×0.96%
- user12×0.82%
- passwords11×0.75%
- tests11×0.75%
- wordpress10×0.68%
- wp10×0.68%
- notify9×0.62%
- security solution notify8×0.55%
- fail7×0.48%
Legal Terms and Conditions Popup for User Login and WooCommerce Checkout
The Legal-Grade Solution for Consent and Compliance. US-based premium developer support available for seamless integration and ongoing assistance. This plugin will create a popup with a scrollable window that will show your own custom Terms and Conditions. Only visitors who accept the conditions will be allowed to continue their user flow. Extensive list of features listed below. Easily display your Terms and Conditions in a way that ensures user compliance: Anywhere on Your Site: Show on any page for all users or specific pages only. At User Login or After Login: Display on the login page (supports custom login pages). MOST USED: Show immediately after a user logs in, with options to: Force logout if terms are declined. Include WordPress admin pages (premium feature). For WooCommerce: Display at checkout, cart, product pages, or any other WooCommerce-specific pages. Custom Conditions: Leverage your own custom-coded conditions using a WordPress hook (premium feature). ✨ Distinct Features Not Found in Other Plugins User actions are securely recorded in your database in a dedicated table, ensuring optimal performance even with over 10,000 users. Custom email receipts of acceptance are sent to both admins and users as legally verifiable proof of consent. These receipts include all necessary details to act as a third-party record of the action taken (premium only). Redirect users after Accept or Decline button click Visitors are tracked using an anonymously generated GUID until they log in and consent is registered under their user ID and Woocommerce Order. Browser user agent, IP address, and location tracking are available. User Flow Management: Redirect users after acceptance or decline, with the option to enforce logout on decline. Reporting tools, including charts and CSV export, are available (premium only). Enjoy community support. Post your Question/Support/Feature-Requests in our Matyus Media Slack Channel. Never share your license key in the Slack channel. Enjoy premium tech support with every license key purchase. Support and dev team based in USA. 🔐 Security We take security seriously! This plugin participates in the Patchstack Vulnerability Disclosure Program, so security researchers can report issues responsibly. More details on Patchstack. See our Security policy. Terms on User Login Popup Workflow Display popup for visitors OR upon user login OR using Woccomerce, Ability to redirect users Ability to force log out users who decline Data is stored as proof in your DB See if user accepted or not on their edit page Woocommerce Popup Workflow Must accept in order to check out Log out or redirect users who decline your terms Show for logged in users, anonymous visitors or both Proof is stored in your database for logged in users WooCommerce Orders store proof reference 🚀 Premium features User Action proof is stored in a seperate table, keeping WP Options table clean. Option to show popup on WP Admin dashboard /wp-admin as well Reset users after you update terms and have them accept again Generate user reports in CSV Advanced logging with timestamp for every action Do not force logout on decline Do not show popup even after decline Use custom page as popup content Limit popup by user roles Force popup on every login Send email both to admin and user as proof of acceptance Analytics and reports IP and location tracking capability Designated test user Store Anonymous users acceptance reference on Order Ability to load TOS from a URL hosted on a different website or github Learn more about Premium features on our website Plugin Settings We take user consent proof more seriously than any other plugin in this niche—period. Terms Popup Features The popup will show when user logs in. The popup will not dismiss until user clicks Accept or Decline button. The user’s response to the popup, accept or decline gets saved in the database. The popup will not shown again for users who have accepted the Terms. There is an option to turn on “Show popup on every single login” if needed. The popup will show on user login every time for users who have Declined the terms blocking further navigation. The popup has customizable fields and labels. The popup has 2 buttons Accept and Decline. Accept button is only enabled for the user once he has scrolled through terms. This feature can also be disabled. Accept button will dismiss the popup and register that the user has accepted the terms. Decline button will log out the user and register that the user has declined the terms. You can set different redirect URL’s if you wish to redirect the user upon clicking Accept or Decline. Easily customize the size of the popup, the labels in the popup as well as the size and color of buttons. Option to enable popup on every single login regardless if they accepted terms at previous logins. TEST MODE can be used to test the looks and text of the popup on any page, be sure to remove from TEST MODE after you tested the popup. Terms Popup Premium Features The popup allows for resetting all users, to force them to re-accept new terms. Useful if you plan to update your terms in the future and have everyone re-accept your new updated terms. Reset a Single user on the user edit page, force a user to re-accept terms and conditions. Status of who has accepted your Terms gets displayed on the User listing page. Log the time when user has accepted the terms and conditions. Date and time of acceptance is displayed both on individual user edit page and in list of all users. Ability to change the font size for the terms inside the poup. The popup can bring in any custom page that you have on your website as terms content in the popup. Using a custom page as the terms popup content allows for having nicely formatted terms, with links inside. It also allows for use of shortcodes inside, multimedia etc. Ability to limit the popup to only be shown for certain types of user roles. Subscribers, Editors, Admins etc. or custom roles. Advanced loging of user activity regarding the popup. Generate and download a CSV report of all the users showing each user if and when accepted your terms. Designated Test User, special test user to which the popup will always show, great for testing even on live environment. Reccomend new features and gain access to premium features by upgrading to premium WooCommerce Integration Display popup when visiting a product page Display popup for anonymous visitors Possibility to redirect visitor to your home page on decline of terms WooCommerce Premium Features Saves Acceptance Reference ID on Order Display popup on any of the following: product page, category page, cart page or checkout page Display popup for logged in users, anonymous visitors or both For logged in users response is saved in the database and popup is no longer displayed until terms have been updated For anonymous visitors accept response can be remembered in the browser for their conveninece On Terms declined redirect users and visitors to any page or url of your choosing Possibility to force logout user on decline and redirect them Custom condition using your own code Using a premium license key a custom filter is made available for you tpul_override_show_popup You can override the logic when the popup should show or not show for a user or visitor. You can simply implement the custom filter in your functions.php file Code sample below uses original value of $should_show_popup in conjunction with extra condition. This is so we only show the popup if a user has not yet accepted the terms and an extra condition is fulfilled. function YOUR_CUSTOM_FUNCTION_show_popup($should_show_popup) { // should_show_popup - is the original value based on active options // EXTRA_CONDITION is an example variable that you can set $EXTRA_CONDITION = false; // add your custom logic if ($should_show_popup && $EXTRA_CONDITION) { return true; } else { return false; } } add_filter('tpul_override_show_popup', 'YOUR_CUSTOM_FUNCTION_show_popup'); // Would you like a custom feature? Contact us and let’s have a discussion Hit us up on our contact page Getting Started Once Plugin has been installed and activated Navigate to Settings -> Terms Popup On User Login Options -> Terms Modal Tab Feel Free to modify the default Settings Place your Terms and conditions in the Textbox Be sure To Navigate to General Settings Tab (Settings -> Terms Popup On User Login Options -> General Settings Tab) Set “Terms Popup On User Login” to “Show Popup” and save changes Popup should fire as soon as you hit any page of your website