Add WebhookRateLimiter service with IP-based rate limiting for webhook endpoints to prevent rate limit exhaustion attacks against legitimate payment webhooks. Changes: - Add WebhookRateLimiter service with per-IP tracking - Default: 60 req/min for unknown IPs, 300 req/min for trusted gateway IPs - Support CIDR ranges for IP allowlisting - Configure via commerce.webhooks.rate_limits and trusted_ips - Update BTCPayWebhookController and StripeWebhookController - Return proper 429 responses with Retry-After headers - Replace global throttle:120,1 middleware with granular controls - Add comprehensive tests for rate limiting behaviour Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| .gitkeep | ||
| CheckoutFlowTest.php | ||
| CompoundSkuTest.php | ||
| ContentOverrideServiceTest.php | ||
| CouponServiceTest.php | ||
| CurrencyServiceTest.php | ||
| DunningServiceTest.php | ||
| ProcessSubscriptionRenewalTest.php | ||
| RefundServiceTest.php | ||
| SubscriptionServiceTest.php | ||
| TaxServiceTest.php | ||
| WebhookRateLimitTest.php | ||
| WebhookTest.php | ||