PHPackages                             uspdev/ip-control - 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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. uspdev/ip-control

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

uspdev/ip-control
=================

Blibliteca de controle de acesso por IP

1.0.2(6y ago)1601[3 issues](https://github.com/uspdev/ip-control/issues)1GPL-3.0-or-laterPHP

Since Mar 4Pushed 6y ago9 watchersCompare

[ Source](https://github.com/uspdev/ip-control)[ Packagist](https://packagist.org/packages/uspdev/ip-control)[ RSS](/packages/uspdev-ip-control/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (6)DependenciesVersions (7)Used By (1)

ip-control
==========

[](#ip-control)

Biblioteca que limita o acesso aos endereços da aplicação com base no IP de orígem.

Em alguns casos queremos limitar nossa aplicação ou parte dela do acesso público e irrestrito. Essa biblioteca permite restringir o acesso por meio de uma lista de ips e máscaras autorizados por meio de uma diretiva simples nas rotas a serem protegidas.

```
Ipcontrol::proteger();

```

Ao colocar essa linha no seu código, a biblioteca verificará o endereço de orígem da requisição e caso seja negado retornará uma mensagem "HTTP 403 Forbidden". Caso queira que sua aplicação trate o bloqueio chame o método com parâmetro false

```
Ipcontrol::proteger(false);

```

Como a lista de ips liberados é guardado em um arquivo texto, a biblioteca não foi pensada em regras complexas. Ela é bastante útil quando temos aplicações de uso interno e que queremos restringir aos ips da unidade, por exemplo.

Dependências
------------

[](#dependências)

Esta biblioteca foi testada somente em Linux e em PHP 7.2 e 7.3 usando apache.

Instalação e configuração
-------------------------

[](#instalação-e-configuração)

Para instalar use o composer

```
composer require uspdev/ip-control
```

A biblioteca usa as seguintes configurações

```
putenv('USPDEV_IP_CONTROL=whitelist');
putenv('USPDEV_IP_CONTROL_LOCAL=pasta/onde/guardar/os/arquivos');
```

USPDEV\_IP\_CONTROL pode assumir o valor 'localhost', dessa forma restringindo o acesso somente à máquina local.

Se USPDEV\_IP\_CONTROL não for definido no ambiente, o acesso será liberado por padrão.

O arquivo uspdev\_ip\_control\_whitelist.txt será criado na pasta indicada acima e deve ser preenchido adequadamente. Ele tem o seguinte formato

```
ip,mascara,comentário

```

Exemplo

```
200.144.248.41, 32, meu 1o. endereço liberado
143.107.225.0, 24, minha 1a. rede liberada

```

Caso o arquivo esteja vazio, a biblioteca vai negar todos os acessos, menos localhost.

O acesso local (localhost) é sempre liberado por padrão.

Exemplo de utilização
---------------------

[](#exemplo-de-utilização)

```
putenv('USPDEV_IP_CONTROL=whitelist');
putenv('USPDEV_IP_CONTROL_LOCAL='.__DIR__.'/local');

use Uspdev\Ipcontrol\Ipcontrol;
Ipcontrol::proteger();
```

Testes
------

[](#testes)

Em linha de comando, rode o teste em

```
php vendor/uspdev/ip-control/test/test.php

```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity61

Established project with proven stability

 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

Every ~5 days

Total

6

Last Release

2240d ago

Major Versions

v0.2.0 → 1.0.02020-03-30

### Community

Maintainers

![](https://www.gravatar.com/avatar/8a59480189a3ba1aa8355cb434880695569433f5d1c9e375e8238d5ff1a56beb?d=identicon)[uspdev](/maintainers/uspdev)

---

Top Contributors

[![masakik](https://avatars.githubusercontent.com/u/986915?v=4)](https://github.com/masakik "masakik (13 commits)")

### Embed Badge

![Health badge](/badges/uspdev-ip-control/health.svg)

```
[![Health](https://phpackages.com/badges/uspdev-ip-control/health.svg)](https://phpackages.com/packages/uspdev-ip-control)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)[beatswitch/lock

A flexible, driver based Acl package for PHP 5.4+

870304.7k2](/packages/beatswitch-lock)[amocrm/amocrm-api-library

amoCRM API Client

182728.5k6](/packages/amocrm-amocrm-api-library)[vonage/jwt

A standalone package for creating JWTs for Vonage APIs

424.1M4](/packages/vonage-jwt)

PHPackages © 2026

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