codeblog/ratelimit

检查请求头中的请求数量!

v1.0.0 2018-12-10 17:05 UTC

This package is auto-updated.

Last update: 2024-09-11 00:02:13 UTC


README

Maintainer Source Code PHP from Packagist Latest Version Software License Build Quality Score Total Downloads

随着设备和平台(移动、可穿戴设备、网站等)的多样化,我们的应用数据、业务规则和操作正在通过HTTP API暴露。在这种情况下,一个非常常见的需求是控制这些API的使用,例如客户端在给定时间范围内可以执行的最大请求数(速率限制)。Ratelimit检查请求头中的请求数量。

随着设备和平台(移动、可穿戴设备、网站等)的多样化,我们的应用数据、业务规则和操作正在通过HTTP API暴露。在这种情况下,一个非常常见的需求是控制这些API的使用,例如客户端在给定时间范围内可以执行的最大请求数(速率限制)。Ratelimit检查请求头中的请求数量。

亮点

  • 限制REST API的请求数量;(限制REST API的请求数量)
  • 通过检查剩余请求来保持安全性,防止过度使用;(通过检查剩余请求来保持安全性,防止过度使用)
  • 通过HTTP请求验证每个请求;(通过HTTP请求验证每个请求;

安装

Ratelimit可以通过Composer获取

"codeblog/ratelimit": "^1.0"

或运行

composer require codeblog/ratelimit

文档

HTTP头和响应代码

使用HTTP头以了解应用在给定速率限制下的状态,在刚刚使用的方法上。
注意,HTTP头是上下文相关的。当使用仅应用认证时,它们表示应用上下文的速率限制。当使用基于用户的认证时,它们表示用户-应用上下文的速率限制。
  • x-rate-limit-limit: 应用或方法的最大请求限制;
  • x-rate-limit-remaining: 剩余请求数量,剩余请求;
  • x-rate-limit-reset: x-rate-limit-reset: 在速率限制重置之前的剩余时间;
HTTP头和响应代码

使用HTTP头以了解应用在给定速率限制下的状态,在刚刚使用的方法上。

注意,HTTP头是上下文相关的。当使用仅应用认证时,它们表示应用上下文的速率限制。当使用基于用户的认证时,它们表示用户-应用上下文的速率限制。

  • x-rate-limit-limit: 应用或方法的最大请求限制;
  • x-rate-limit-remaining: 剩余请求数量,剩余请求;
  • x-rate-limit-reset: 在速率限制重置之前的剩余时间;
有关如何使用详细信息,请查看组件目录中的示例文件夹。在其中,您将为每个类找到一个使用示例。它的工作方式如下

有关如何使用详细信息,请查看组件目录中的示例文件夹。在其中,您将为每个类找到一个使用示例。它的工作方式如下

使用示例

<?php

// Initialise your autoloader (this example is using Composer)
require 'vendor/autoload.php';

use CodeBlog\RateLimit\RateLimit;

$key = 'user-id-999';
$limit = new RateLimit('cache-folder/', $key, 15, 60);

var_dump($limit);

贡献

有关详细信息,请参阅 CONTRIBUTING

支持

安全:如果您发现任何与安全相关的问题,请通过电子邮件 whallyssonallain@gmail.com 联系我们,而不是使用问题跟踪器。

如果您发现任何与安全相关的问题,请发送电子邮件至 whallyssonallain@gmail.com,而不是使用问题追踪器。

谢谢

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件