PHPackages                             pendalf89/visitor-filter - 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. pendalf89/visitor-filter

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

pendalf89/visitor-filter
========================

2221PHP

Since May 24Pushed 9y ago2 watchersCompare

[ Source](https://github.com/PendalF89/visitor-filter)[ Packagist](https://packagist.org/packages/pendalf89/visitor-filter)[ RSS](/packages/pendalf89-visitor-filter/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Visitor Filter
==============

[](#visitor-filter)

Фильтр посетителей по определённым параметрам

Параметры, по которым возможен фильтр
-------------------------------------

[](#параметры-по-которым-возможен-фильтр)

- Страна
- Язык
- IP адрес
- Был ли пользователь на сайте
- Адрес, с которого пришёл пользователь

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

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

Установка через [composer](http://getcomposer.org/download/).

Запустите команду

```
php composer.phar require --prefer-dist pendalf89/visitor-filter "*"

```

или добавить строку в composer.json

```
"pendalf89/visitor-filter": "*"

```

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

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

```
$config = [
    // Разрешено для всех посетителей. Если true, то остальные правила игнорируются.
    'allowToAll' => false,

    // Запрещено для всех посетителей. Если true, то остальные правила игнорируются.
    'disallowToAll' => false,

    // Список запрещённых языков (iso-код, например "ru-RU", "en-US" и т.д.)
    'disallowedLanguages' => ['en-US'],

    // Список запрещённых стран (iso-код, например "US", "RU" и т.д.)
    'disallowedCountries' => ['US'],

    // Список запрещённых url'ов, с которых пришёл пользователь.
    // Допускается писать не весь url, а только часть.
    // Поиск производится по вхождению.
    // Например, "google.com", "yandex.ru" и т.д.
    'disallowedReferers' => ['google.com'],

    // Список запрещённых ip адресов
    'disallowedIpAddresses' => [],

    // Запретить, если пользователь уже был на сайте
    'disallowIfVisitorWasHere' => false,
];

$visitorFilter = new \pendalf89\visitor_filter\VisitorFilter($config);
if ($visitorFilter->isAllow()) {
    // ваш код
}
```

Для определения страны используется база IP адресов [maxmind](http://www.maxmind.com).

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 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.

### Community

Maintainers

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

---

Top Contributors

[![PendalF89](https://avatars.githubusercontent.com/u/5278851?v=4)](https://github.com/PendalF89 "PendalF89 (7 commits)")

### Embed Badge

![Health badge](/badges/pendalf89-visitor-filter/health.svg)

```
[![Health](https://phpackages.com/badges/pendalf89-visitor-filter/health.svg)](https://phpackages.com/packages/pendalf89-visitor-filter)
```

###  Alternatives

[laracademy/generators

This package will generate a Laravel Model based on your database table itself, filling in the required fields automatically.

355346.4k4](/packages/laracademy-generators)[beyondcode/laravel-vouchers

Allow users to redeem vouchers that are bound to models..

70763.4k2](/packages/beyondcode-laravel-vouchers)[firegento/magesetup2

MageSetup provides the necessary configuration (system config, tax, agreements, etc. for a national market.

123328.5k1](/packages/firegento-magesetup2)[sixlive/nova-text-copy-field

Laravel Nova text field with click to copy support

70708.2k2](/packages/sixlive-nova-text-copy-field)[happyr/message-serializer

Serialize classes the good way.

80491.3k](/packages/happyr-message-serializer)[percymamedy/laravel-dev-booter

Boost your Laravel app by registering Prod services only on Prod.

35320.7k1](/packages/percymamedy-laravel-dev-booter)

PHPackages © 2026

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