Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhanced Rate Limiting Implementation #120

Open
19 tasks
TomasDmArg opened this issue Oct 22, 2024 · 0 comments
Open
19 tasks

Enhanced Rate Limiting Implementation #120

TomasDmArg opened this issue Oct 22, 2024 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@TomasDmArg
Copy link
Collaborator

Description

As a system administrator, I want to implement endpoint-specific rate limits to protect the API against abuse and potential denial of service attacks.

Context

Implementation Checklist

  • Extend current rate limiting implementation to support different limits per route
  • Configure rate limits:
    • Authentication endpoints: 5 requests per IP per minute
    • Public endpoints: 30 requests per IP per minute
    • Authenticated endpoints: 50 requests per IP per minute
  • Add rate limit headers to responses:
    • X-RateLimit-Limit
    • X-RateLimit-Remaining
    • X-RateLimit-Reset
  • Implement 429 Too Many Requests responses when limits are exceeded
  • Set up efficient storage for rate limit counters
  • Add proper error messages in responses

Testing Checklist

  • Verify authentication endpoints block after 5 attempts/minute
  • Verify public endpoints allow 30 requests/minute
  • Verify authenticated endpoints allow 50 requests/minute
  • Test rate limit headers are present and accurate
  • Confirm counters reset after the time window
  • Verify different IPs have independent counters
  • Load test to ensure performance impact is minimal
@dappsar dappsar added this to the MVP milestone Oct 26, 2024
@dappsar dappsar added the enhancement New feature or request label Dec 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants