PHPackages                             ilyafreer/php-ddos-defender - 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. [Security](/categories/security)
4. /
5. ilyafreer/php-ddos-defender

ActiveLibrary[Security](/categories/security)

ilyafreer/php-ddos-defender
===========================

PHP DDoS Defender powered by history files

1.0(3y ago)14MITPHPPHP &gt;=7.1

Since May 10Pushed 2y ago1 watchersCompare

[ Source](https://github.com/ilyafreer/php-ddos-defender)[ Packagist](https://packagist.org/packages/ilyafreer/php-ddos-defender)[ RSS](/packages/ilyafreer-php-ddos-defender/feed)WikiDiscussions main Synced 1mo ago

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

PHP DDoS Defender
=================

[](#php-ddos-defender)

`Powered by history files`

Install
-------

[](#install)

`composer require ilyafreer/php-ddos-defender`

Example usage
-------------

[](#example-usage)

```
require 'vendor/autoload.php';

use Ilyafreer\DdosDefender\Defender;

(new Defender())
    ->setIpList(['172.27.0.1'])
    ->setTimeOutList([0.5, 1, 1.5, 2, 3, 5, 10, 15])
    ->useUserAgent()
    ->run();

```

Possibilities
-------------

[](#possibilities)

- Set a list of ip v4 banned addresses

```
->setIpList([
        '172.27.0.1',
        '172.27.0.2',
        '172.27.0.3'
    ]
)

```

---

- Set a list of user-agent (or their parameters)

```
->setUserAgentList(
    [
        'AppleWebKit/537.36 (KHTML, like Gecko)'
    ]
)

```

---

- Set access by timeout in seconds (the number of arguments is not limited)

```
->setTimeOutList([0.5, 1, 1.5, 2, 3, 5, 10, 20, 30])

```

---

- Set the response code and message text

```
->setBlockCode(401) #(default - 429)
->setBlockMessage('Some message') #(default - Too many requests)

```

---

- Set the interval for deleting the history files (default - 5 days)

```
->setDeleteHistoryInterval(2)

```

---

- Set path to history file (default - current launch folder)

```
->setPathFile('/app/defender/')

```

---

- Use timeout for blocking by ip + user-agent data (default - off)

```
->useUserAgent()

```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

1095d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a50229e262484ce6f58b7b8a66afa42b9c91c7a9ca27da0ebe79dcf9f25b5f8a?d=identicon)[ilyafreer](/maintainers/ilyafreer)

---

Top Contributors

[![ilyafreer](https://avatars.githubusercontent.com/u/12596657?v=4)](https://github.com/ilyafreer "ilyafreer (14 commits)")

---

Tags

phpddos defender

### Embed Badge

![Health badge](/badges/ilyafreer-php-ddos-defender/health.svg)

```
[![Health](https://phpackages.com/badges/ilyafreer-php-ddos-defender/health.svg)](https://phpackages.com/packages/ilyafreer-php-ddos-defender)
```

###  Alternatives

[stymiee/php-simple-encryption

The PHP Simple Encryption library is designed to simplify the process of encrypting and decrypting data while ensuring best practices are followed. By default is uses a secure encryption algorithm and generates a cryptologically strong initialization vector so developers do not need to becomes experts in encryption to securely store sensitive data.

448.0k](/packages/stymiee-php-simple-encryption)[poly-crypto/poly-crypto

High-level cryptographic functions that are interoperable between NodeJS and PHP 7.1+

127.8k1](/packages/poly-crypto-poly-crypto)[ukrbublik/openssl_x509_crl

Missing OpenSSL function on PHP to create CRL (certificate revocation list) for CA

182.1k](/packages/ukrbublik-openssl-x509-crl)

PHPackages © 2026

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