Skip to content

Add anti-fraud rate limiting to checkout to prevent card storm attacks#775

Open
vitorrgg wants to merge 1 commit into
mainfrom
checkout-rate-limiting
Open

Add anti-fraud rate limiting to checkout to prevent card storm attacks#775
vitorrgg wants to merge 1 commit into
mainfrom
checkout-rate-limiting

Conversation

@vitorrgg

@vitorrgg vitorrgg commented Jun 23, 2026

Copy link
Copy Markdown
Member

Firestore-backed sliding window rate limiter keyed by delivery address (CEP+number) and real client IP (via X-Forwarded-For). Blocks after 10 attempts per address or 20 per IP within 10 minutes. Returns HTTP 429 before any order or email is created. Firestore docs expire automatically via TTL field. Fails open on Firestore errors.

After deploy TTL will be enabled on Firestore for the checkout_rate_limits collection

Firestore-backed sliding window rate limiter keyed by delivery address (CEP+number)
and real client IP (via X-Forwarded-For). Blocks after 10 attempts per address or
20 per IP within 10 minutes. Returns HTTP 429 before any order or email is created.
Firestore docs expire automatically via TTL field. Fails open on Firestore errors.

Motivation: card storm attack on barradoce.com.br (20/06/2026) generated 232 orders
in 23 minutes, causing SES bounce rate spike and account suspension.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant