=== Login Attempt Logger ===
Contributors: snehalpancholi
Tags: login, security, brute force, login attempts, audit log
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.1
Stable tag: 1.0.0
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Records every WordPress login attempt in a custom database table with IP address, username, user agent, and success/fail status.

== Description ==

Login Attempt Logger silently records every login attempt made on your WordPress site — whether successful or failed. All data is stored in a dedicated database table and is viewable from **Tools → Login Attempts**.

**Key Features:**

* Records username, IP address, browser user agent, status (success/fail), and timestamp
* Admin log viewer with search by username or IP address
* Filter by status: All / Success / Failed
* Paginated table with 25 entries per page
* Coloured status badges for instant readability
* Configurable log retention (default 30 days; auto-purged nightly)
* Clear All Logs button with confirmation
* Respects CDN/proxy IP headers (Cloudflare, X-Forwarded-For)
* Lightweight — no external dependencies

**Use Cases:**

* Identify brute-force attacks by IP address
* Audit which users log in and when
* Spot credential-stuffing patterns
* Comply with basic access logging requirements

== Installation ==

1. Upload the `login-attempt-logger` folder to `/wp-content/plugins/`.
2. Activate through **Plugins → Installed Plugins**.
3. Go to **Tools → Login Attempts** to view the log.

== Frequently Asked Questions ==

= Does this plugin block repeated failed logins? =
No — this plugin only logs attempts. Pair it with a dedicated lockout plugin for brute-force protection.

= Where is the data stored? =
In a custom table `{prefix}lal_attempts` in your WordPress database.

= Will uninstalling delete the data? =
Yes — uninstalling the plugin drops the custom table and removes all plugin options.

= Can I change how long logs are kept? =
Yes — set the retention in days on the Tools → Login Attempts page. The default is 30 days.

== Screenshots ==

1. The login attempts log table with status badges, search, and filter controls.
2. Settings section for configuring log retention.

== Changelog ==

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.0 =
Initial release.
