mabe / ratelimit-bundle
This symfony bundle provides functionality to limit requests based on rate limits using Redis.
Installs: 31
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^7.1
- symfony/framework-bundle: ^3.0|^4.0
Requires (Dev)
- symfony/browser-kit: ^4.1
- symfony/http-kernel: ^4.1
- symfony/phpunit-bridge: ^4.1
- symfony/security-bundle: ^2.7|^3.0|^4.0
- symfony/yaml: ^4.1
This package is auto-updated.
Last update: 2025-02-13 19:33:17 UTC
README
RateLimitBundle
A light-weight symfony bundle that limits request rate for given path.
Requirements
Redis server
Installation
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require mabe/ratelimit-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Mabe\RateLimitBundle\MabeRateLimitBundle(), ); // ... } // ... }
Step 3: Configure
In your config.yml add your desired configuration.
rate_limit: enabled: true redis: # Your redis server IP (default localhost) and database host: 127.0.0.1 database: 5 paths: # Path to put restriction on - path: /api/test # Times the path can be accessed limit: 1 # Period in seconds period: 5 # Redis identifier for storing keys (ip or username currently available) identifier: ip
Running tests
./vendor/bin/simple-phpunit