PHPackages                             unetway/rate-limiting - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. unetway/rate-limiting

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

unetway/rate-limiting
=====================

Скрипт подсчитывает действия пользователя и блокирует его при превышении лимита.

v1.0.1(1y ago)06MITPHPPHP ^7.0

Since May 18Pushed 1y ago1 watchersCompare

[ Source](https://github.com/unetway/rate-limiting)[ Packagist](https://packagist.org/packages/unetway/rate-limiting)[ Docs](https://github.com/unetway/rate-limiting)[ RSS](/packages/unetway-rate-limiting/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)DependenciesVersions (2)Used By (0)

RateLimiting
============

[](#ratelimiting)

PHP-скрипт для защиты от парсинга и ботов. Скрипт позволяет произвести подсчет количества действий или запросов пользователя и заблокировать его на определенное время при достижении заданного количества.

Например, если пользователь больше 5 раз входил на страницу, то вы можете вывести ему сообщение, либо заблокировать доступ на страницу в течении 24 часов.

Проверка осуществляется по IP пользователя (дополнительно можно включить проверку по user-agent).

Требования
----------

[](#требования)

На вашем сервере должны быть установлено:

- Redis &gt;=3
- PHP &gt;=7.0

Установка
---------

[](#установка)

Для установке просто скопируйте файл RateLimitingService.php в нужный вам каталог, при необхоимости добавьте namespace или переименуйте класс.

Количество действий пользователя хранится к Redis, поэтому убедитесь, что он установлен на вашем сервере или компьютере.

Использование
-------------

[](#использование)

Проверка осуществляется по IP пользователя (дополнительно можно включить проверку по user-agent).

Параметры, которые можно передать в класс:

- host, адрес подключения к Redis (по умолчанию, localhost).
- maxCallsLimit, количество действий (по умолчанию, 5 попыток).
- timePeriod, время блокировки в секундах (по умолчанию, 86400 - 24 часа).
- userAgent, дополнительно проверять по параметру user-agent браузера пользователя.

### Пример 1

[](#пример-1)

Если пользователь посетил страницу больше 10 раз, то отдаем странице код 429 и блокируем дальнейшие действия пользователя на 24 часов.

```
$rateLimit = new RateLimitingService([
  'maxCallsLimit' => 10,
  'timePeriod' => 86400
]);

if (!$rateLimit->check()) {
  http_response_code(429);
  exit();
}

```

### Пример 2

[](#пример-2)

Блокируем действия пользователя и показываем сколько раз он совершил действие.

```
$rateLimit = new RateLimitingService([
  'maxCallsLimit' => 10,
  'timePeriod' => 86400
]);

if (!$rateLimit->check()) {
  echo "Вы уже отправили форму ${$rateLimit->total()} раз!";
}

```

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

728d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3e6c24f4cd42aabb517ee92c8a30a1b54f81fd749fc3b9a5b232f6c29d31f474?d=identicon)[condor](/maintainers/condor)

---

Tags

ratesCRBvalute

### Embed Badge

![Health badge](/badges/unetway-rate-limiting/health.svg)

```
[![Health](https://phpackages.com/badges/unetway-rate-limiting/health.svg)](https://phpackages.com/packages/unetway-rate-limiting)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
