Download the PHP package uspdev/ip-control without Composer
On this page you can find all versions of the php package uspdev/ip-control. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download uspdev/ip-control
More information about uspdev/ip-control
Files in uspdev/ip-control
Package ip-control
Short Description Blibliteca de controle de acesso por IP
License GPL-3.0-or-later
Informations about the package 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
Esta biblioteca foi testada somente em Linux e em PHP 7.2 e 7.3 usando apache.
Instalação e configuração
Para instalar use o composer
A biblioteca usa as seguintes configurações
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
Testes
Em linha de comando, rode o teste em
php vendor/uspdev/ip-control/test/test.php