form-captcha

Installation
SKILL.md

Protect public forms with CAPTCHA

An unprotected registration form can create thousands of spam accounts per minute; an unprotected login form enables credential stuffing attacks that test millions of username/password combinations from data breaches.

Quick Reference

  • Public forms (contact, registration, login, password reset, comment) without CAPTCHA are targets for automated abuse
  • Prefer invisible/automated solutions (Cloudflare Turnstile, Google reCAPTCHA v3, hCaptcha) over interactive challenges that harm UX
  • Always validate CAPTCHA tokens server-side — client-side validation is bypassable
  • Rate limiting is complementary to CAPTCHA but not a substitute — bots can solve rate limits with distributed attacks
  • Honeypot fields (hidden inputs that users never fill but bots do) are a lightweight CAPTCHA alternative for low-risk forms

Check

Identify all public-facing forms (contact, registration, login, password reset, newsletter, comment). Check whether each has CAPTCHA, honeypot fields, or server-side rate limiting. Verify any CAPTCHA tokens are validated server-side.

Fix

Integrate a CAPTCHA service (Cloudflare Turnstile, hCaptcha, or Google reCAPTCHA v3) on all public forms. Validate the CAPTCHA response token on your server before processing the form submission. Add rate limiting as a defense-in-depth measure.

Installs
4
GitHub Stars
73.9K
First Seen
Aug 11, 2026
form-captcha — thedaviddias/front-end-checklist