nhphero/throttle
Composer 安装命令:
composer require nhphero/throttle
包简介
A Simple PHP package for throttling and rate limiting
README 文档
README
This is yet another Throttling library for PHP applications, that provides a throttling interface and a flexible API for implementing custom throttling algorithms (aka providers) and storage strategies.
Installation
$ composer require nhphero/throttle
Basic Usage
<?php $storage = new NhpHero\Throttle\Store\RedisStore( 'throttle_storage_prefix::',[ 'scheme' => config('redis.scheme'), 'host' => config('redis.host'), 'port' => config('redis.port'), 'password' => config('redis.password'), 'timeout' => config('redis.timeout'), ]); $throttle = new NhpHero\Throttle\Throttle($storage); //Limit 10 request per 60 seconds $limit = 10; $time= 60; $throttleKey = $_SERVER['REMOTE_ADDR']; if ($throttle->attempt($throttleKey, $limit, $time)) { // allow } else { // deny }
Storage Strategies
Currently, only Redis storage .
Development and Tests
Feel free to contribute with bug fixing, new providers and storage strategies.
To start contributing, just make a fork of this repo, create a branch which the name explains what you are doing, code your solution and send us a Pull Request.
Development Installation
$ composer install --dev
Running the Tests
$ ./vendor/bin/phpunit
Documentation
Coming soon.
License
This library is licensed under the MIT license.
统计信息
- 总下载量: 735
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-11-13