Commit Graph

2 Commits

Author SHA1 Message Date
a3e38faffa feat: add DB logging and admin UI for blocked attempts
- SmartHoneypotDB class: creates wp_honeypot_log table (id, blocked_at,
  ip_address, form_type, reason, request_uri, user_agent)
- SmartHoneypotAdmin class: admin menu page 'Honeypot Logs' with:
  * Stats cards (total blocked, blocked today, unique IPs, form types hit)
  * Filterable table (by IP, form type, free-text search)
  * Pagination (25 per page)
  * IP lookup link (ipinfo.io) and quick IP filter per row
  * Clear All Logs button
- log_spam() now writes to DB with form_type context
- current_form_type property threads form name into every log entry
- View Logs link added to plugin action links
- Auto-prune logs older than 90 days via WP cron
- DB schema versioning for future migrations
2026-03-09 17:11:09 +01:00
c2a29ffbbe feat: honeypot fields v2.0 with JS challenge, rate limiting, and proper WooCommerce hooks
- Require honeypot field presence (blocks direct POST bots)
- Add HMAC-based JavaScript proof-of-work token via SubtleCrypto
- Hook into woocommerce_process_registration_errors for proper validation
- Add IP-based rate limiting (3 registrations/hour) via transients
- Add timestamp validation (min 3s, max 2h)
- Use realistic field names to avoid bot detection
- Support WP core registration, comments, Elementor, Gravity Forms, CF7
2026-02-16 09:54:17 +01:00