Download the PHP package topthink/think-throttle without Composer

On this page you can find all versions of the php package topthink/think-throttle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package think-throttle

作用

通过本中间件可限定用户在一段时间内的访问次数,可用于保护接口防爬防爆破的目的。

安装

安装后会自动为项目生成 conf/throttle.php 配置文件,安装后组件不会自动启用,需要手动设置。

开启

组件以中间件的方式进行工作,因此它的开启与其他中间件一样,例如在全局中间件中使用 app/middleware.php :

配置说明

config/throttle.php 配置选项:

当配置项满足以下条件任何一个时,不会限制访问频率:

  1. key 值为 falsenull
  2. visit_rate 值为 null

其中 key 用来设置缓存键的;而 visit_rate 用来设置访问频率,单位可以是秒,分,时,天,例如:1/s, 10/m, 98/h, 100/d , 也可以是 100/600 (600 秒内最多 100 次请求)。

灵活定制

示例一:针对用户个体做限制, key 的值可以设为函数,该函数返回新的缓存键值(需要Session支持),例如:

实例二:也可以在回调函数里针对不同控制器和方法定制生成key,中间件会进行转换:

或者直接设置:

PS:此示例需要本中间件在路由中间件后启用,这样预设的替换功能才会生效。

示例三:允许在闭包内修改本次访问频率或临时更换限流策略:

示例四:允许在路由定义中独立配置(1.3.x 版本支持)

版本与 TP 适配关系

更新日志

版本 2.0.x 的可从 1.x 无缝升级;

版本 1.3.x 的配置形式完全兼容版本 1.2.x 内容,可以无缝升级;

版本 1.2.x 的配置形式完全兼容版本 1.1.x 内容,可以无缝升级;

2.0.x 更新

1.3.x 更新

1.2.x 更新

1.1.x 更新


All versions of think-throttle with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0.0
topthink/framework Version ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package topthink/think-throttle contains the following files

Loading the files please wait ....