The WP-Members Security extension will allow you to prevent registration based on the user’s IP address, email address, or chosen username. You can also set an error message for each one of these criteria.
Additionally, the extension offers settings for the following:
- Prevent concurrent logins
- Registration form honey pot
- Require random passwords to be changed on first use
- Require passwords to be changed after a period of time
- Require strong passwords
- Require current password when changing a password
This extension installs as a plugin. You can download the installation package as a zip file. Then use the new plugin uploader or unzip the package and FTP transfer to your plugin’s folder.
Once the extension is installed, you can go to Plugins > Installed Plugins to activate.
Using the Extension
This extension adds a tab to the WP-Members options. You can get to this by going to Settings > WP-Members and selecting the Security tab.
Prevent Concurrent Logins
This setting will prevent any login from being used in more than one browser concurrently. This includes additional computers and locations. The primary purpose of this options is to prevent login sharing. While it is impossible to prevent login sharing 100%, this makes it more difficult since one user logging in will automatically log that username out in any other existing session.
Enable Registration Form Honey Pot
A honey pot is a form field that is hidden from human users. To a bot or an automated registration, this form field will look like any other form field to be completed. Bots will generally enter data in a honey pot field. When the registration form is submitted and data validated, if the honey pot contains an entry, an error is returned preventing the registration from occurring. A honey pot is the most effective method of stopping registration spam – more effective than CAPTCHAs. It has the added benefit of being hidden from users and thus presents a far better user experience than including a CAPTCHA.
Require Random Passwords to be Changed on First Use
This setting will set a flag when a random password is generated so that when a user logs in with that random password, they will be prompted to change it before continuing to use the site. This is implemented it two places. First, in the plugin’s default configuration where a random password is sent to the user upon registration; and second, if a forgotten password is reset. This adds a layer of security by requiring the user to set a password themselves once they have logged in with the random password.
Require Passwords to be Changed Every X Period
Similar to the above process, if a password is expired, the user will be required to change it to continue using the site. You can specify the time period required for password expiration. When this setting is used, anytime the user changes their password (or if a password is randomly set via registration or forgotten password reset), a new timestamp is set. Anytime the user logs into the site, the timestamp of the last password change is checked against the expiration period.
Require Strong Passwords
This setting adds the WP password meter to the setting of the user’s password. When used, the meter will be included wherever the password is entered. The primary location for this is in the change password form. But, if a password field is used in the registration form to allow the user to set their own password at registration, the password meter will also be included there. IMPORTANT: If using a password field in the registration form along with this setting, you MUST include a confirm password field for the password meter to work correctly.
Confirm Current Password
When this setting is enabled, the change password form will include a confirm current password field. The user will be required to enter their current password in order to change the password.
The settings for the Registration Blacklist allow you to limit registration by IP address, email address (or wildcard/domain), and by username (restricting the use of certain usernames). Any of these criteria can be specified in the appropriate setting, with each value separated by commas.
In the email field, you may restrict registration from an entire domain by specifying a wildcard with an asterisk (*) followed by @thedomain.com. For example, *@hotmail.com would prevent the registration of any hotmail.com email address.
Wildcards are also allowed for IP addresses. When used for IPs, the wildcard(s) must be to the right. For example, the following are valid IP wildcards:
The following are invalid uses of IP wildcards:
For each of the restrictions, you can specify an error message to display if the blacklist criteria is met.