RateLimit
Table of Contents
Interfaces
- ContentCreationLimitedInterface
- Manager that draws on the {@see ContentCreationLimiter} quota when creating content.
- RateLimit
- Backend for rate limiting and brute-force protection.
Classes
- ContentCreationLimiter
- Throttles content creation in the API layer, equally for the front end (`ApiBridge`) and
the external `:Api:*:save` with a JWT.
- DbRateLimit
- Fixed-window rate limit over `cms_system_rate_limit`, for hosting without Redis.
- FrontFormLimiter
- Throttles of public front forms that do not go through the API `save` (and so not through
{@see ContentCreationLimiter}).
- RateLimitConfig
- Immutable config DTO for rate-limit policies; values come from
`config/Shared/ratelimit.neon` (`parameters.ratelimit.*`).
- RateLimitFactory
- Picks the {@see RateLimit} implementation by the `%ratelimit.useRedis%` flag in
`ratelimit.neon`, the same pattern as {@see \App\Core\Security\Jwt\JtiDenyListFactory}.
- RateLimitResult
- Result of a rate-limit check.
- RedisRateLimit
- Sliding-window log over a Redis sorted set.