=== Online Everything Secure Login ===
Contributors: technicalmohit, onlineeverything
Tags: security, login, two factor, brute force, hide login
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Move the login page to your own address, stop password guessing, add a 2-step email code for admins and harden WordPress, with a log of every login.

== Description ==

* **Custom login address**: wp-login.php and wp-admin show a 404 page to visitors who do not know your login address.
* **Login limits**: after a few wrong passwords (5 by default) an IP address is locked for a while (15 minutes by default).
* **2-step email codes**: after the password, chosen roles enter a 6-digit code sent to their email. Trusted devices can skip it for 30 days.
* **Hardening**: hide the WordPress version, switch off XML-RPC, stop user enumeration, add security headers and more, each with its own switch.
* **Login log**: every successful and failed login, with the user, IP address and time.

If you are ever locked out, add `define( 'OESL_OFF', true );` to wp-config.php to switch the plugin off.

= External services =

This plugin does not connect to any outside service. 2-step codes are sent with WordPress's own email function.

== Installation ==

1. Upload the `online-everything-secure-login` folder to `/wp-content/plugins/` and activate the plugin.
2. Go to **Settings → Online Everything Secure Login**, choose your login address and save it somewhere safe.
3. Turn on the protections you want.

== Frequently Asked Questions ==

= I forgot my login address. =

Add `define( 'OESL_OFF', true );` to wp-config.php, log in at /wp-login.php, look up the address in the settings and remove the line again.

= Does the 2-step code need an app? =

No. The code is sent by email, so make sure your site's emails arrive (for example with OE Mail SMTP).

= What happens to my data when I delete the plugin? =

All settings, logs and locks are removed.

== Changelog ==

= 1.0.0 =
* First release.
