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

ActiveProject

aleckyann/filter
================

Classe simples para filtrar e receber requisições GET e POST.

79PHPCI passing

Since Jan 27Pushed 8mo ago1 watchersCompare

[ Source](https://github.com/aleckyann/filter_input_php)[ Packagist](https://packagist.org/packages/aleckyann/filter)[ RSS](/packages/aleckyann-filter/feed)WikiDiscussions master Synced 2mo ago

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

Secury
======

[](#secury)

===

- Tipagem de suas variáveis, atravéz do controle das entradas GET e POST:

    - Números inteiros: `0, 1, 2, 3, 4, 5, 88, 572, ...`
    - Números decimais(float): `0.21, 1.333333. 93.33, ...`
    - Strings: `Olá mundo, hakunamatata, ...`
    - Emails: `teste@gmail.com, example@example.com.br, ...`
    - Boolean: `0, 1, false, true`
    - CPF: `106.312.266-05` ou `10631226605`
    - bad\_languages: `censured :)`
- Controle de tamanho das variáveis:

    - max length.
    - min length.
- Comportamento required para variáveis(GET e POST).
- Proteção contra Javascript injections.
- Proteção contra HTML injections.
- Proteção conta PHP injections.
- Proteção contra XSS genéricos.
- Funções de proteção contra CSRF:

    - Cria unput dinâmicamente com token.
    - Verifica post recebido do input.

### Para começar usar os filtros basta adicioná-los em seu arquivo de load ou controllers:

[](#para-começar-usar-os-filtros-basta-adicioná-los-em-seu-arquivo-de-load-ou-controllers)

---

```
require_once('secury.php');

```

Ou com composer:
----------------

[](#ou-com-composer)

```
composer require aleckyann/secury:dev-master

```

### Para receber e filtrar requisições post, exemplo:

[](#para-receber-e-filtrar-requisições-post-exemplo)

---

```
$email = post::email('email');

```

### Para receber e filtrar requisições get, exemplo:

[](#para-receber-e-filtrar-requisições-get-exemplo)

---

```
$id = get::int('id');

```

### Para filtrar variáveis dentro de sua aplicação, exemplo:

[](#para-filtrar-variáveis-dentro-de-sua-aplicação-exemplo)

---

```
$nome_com_sr = 'Sr. ' . var::string('nome');

```

### Você poderá usar 6 tipos de filtros para requisições do tipo GET e 5 para requisições do tipo POST, veja:

[](#você-poderá-usar-6-tipos-de-filtros-para-requisições-do-tipo-get-e-5-para-requisições-do-tipo-post-veja)

---

> `('name_da_requisicao', 'min-length', 'max-length');`

VALIDAR EMAILS:

```
get::email('name_da_requisicao');

post::email('name_da_requisicao');

variavel::email($email);

```

VALIDAR INTEIROS:

```
get::int('name_da_requisicao');

post::int('name_da_requisicao');

variavel::int($int);

```

VALIDAR FLOATS:

```
get::float('name_da_requisicao');

post::float('name_da_requisicao');

variavel::float($float);

```

VALIDAR STRINGS:

```
get::string('name_da_requisicao');

post::string('name_da_requisicao');

variavel::string($string);

```

VALIDAR BOOLEANOS:

```
get::boolean('name_da_requisicao');

post::boolean('name_da_requisicao');

variavel::boolean($boolean);

```

VALIDAR CPF:

```
get::cpf('name_da_requisicao');

post::cpf('name_da_requisicao');

variavel::cpf($boolean);

```

> Este método validará CPF com ou sem pontos e traços, retornando o CPF sem pontos e traços...

---

> Caso sua requisição|entrada de dados não seja válida é retornada uma string com valor 'false'

FILTRAR STRING E PROTEGÊ-LAS DE PALAVRIADOS INAPROPRIAPOS|BAD LANGUAGES:

```
get::badString('name_da_requisicao');

post::badString('name_da_requisicao');

variavel::badString($badString);

```

> Caso usuário envie um palavrão(bad language), este é trocado por '#$%@!'

---

### VOCÊ TAMBÉM PODERÁ DEFINIR VALORES MÍNIMOS E MÁXIMOS PARA SUAS ENTRADAS PASSANDO O SEGUNDO E TERCEIRO ARGUMENTO DAS FUNÇÕES, VEJA:

[](#você-também-poderá-definir-valores-mínimos-e-máximos-para-suas-entradas-passando-o-segundo-e-terceiro-argumento-das-funções-veja)

```
post::string('name_da_requisicao', 1, 40);

```

> Este código retornará `false` caso a string de entrada seja menor que 1 caracter ou maior que 40 caracteres.

Caso queira apenas definir um comportamento "required", atribua 1 como segundo argumento da função, dessa forma valores como `null` vão retornar `false`, Veja:

```
post::int('name_da_requisicao', 1);

```

Os filtros podem proteger sua aplicação de diversos injections, tais como: PHP injection, script injection, html injection | XSS, além de tipar a entrada de dados. A tipagem de suas entradas oferece uma robustes maior à suas aplicações.

CSRF protection
---------------

[](#csrf-protection)

Para proteger suas requisições de ataques CSRF, faça como este exemplo:

```

```

> Este método gera um input com um token de segurança, que é gerado automaticamente de forma dinâmica.

Em seguida, em seu controller, faça a verificação atravéz de outro método:

```
$login = post::email('login');
$senha = post::string('senha');
$resultadoCSRF = csrf::verify();

if($resultadoCSRF == false){
  header('Location: index');
} else {
  login($pdo, $login, $senha);
}

```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance43

Moderate activity, may be stable

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.5% 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/8d83bc00dda26191c619cbbdab93d4003109f107d7fddf82a2e43778b9309f30?d=identicon)[aleckyann](/maintainers/aleckyann)

---

Top Contributors

[![aleckyann](https://avatars.githubusercontent.com/u/12452030?v=4)](https://github.com/aleckyann "aleckyann (67 commits)")[![google-labs-jules[bot]](https://avatars.githubusercontent.com/in/842251?v=4)](https://github.com/google-labs-jules[bot] "google-labs-jules[bot] (1 commits)")

### Embed Badge

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

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

PHPackages © 2026

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