# A classe Spoofchecker

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

## Introdução

Esta classe é fornecida porque o Unicode contém um grande número de caractares e incorpora sistemas variados de escrita de todo o mundo e seu uso incorreto pode expor programas ou sistemas a possíveis ataques à segurança usando similaridade de caracteres.

Os métodos fornecidos permitem verificar se uma string individual pode ser uma tentativa de confundir o leitor (`spoof detection`), como em "pаypаl" escrito com caracteres cirílicos 'а'.

## Resumo da classe

class Spoofchecker {
/* Constantes */
public const int SINGLE_SCRIPT_CONFUSABLE;
public const int MIXED_SCRIPT_CONFUSABLE;
public const int WHOLE_SCRIPT_CONFUSABLE;
public const int ANY_CASE;
public const int SINGLE_SCRIPT;
public const int INVISIBLE;
public const int CHAR_LIMIT;
public const int ASCII;
public const int HIGHLY_RESTRICTIVE;
public const int MODERATELY_RESTRICTIVE;
public const int MINIMALLY_RESTRICTIVE;
public const int UNRESTRICTIVE;
public const int SINGLE_SCRIPT_RESTRICTIVE;
public const int MIXED_NUMBERS;
public const int HIDDEN_OVERLAY;
public const int IGNORE_SPACE;
public const int CASE_INSENSITIVE;
public const int ADD_CASE_MAPPINGS;
public const int SIMPLE_CASE_INSENSITIVE;
/* Métodos */
public function __construct()
public function areConfusable(string `$string1`, string `$string2`, int `&$errorCode` = `null`): bool
public function isSuspicious(string `$string`, int `&$errorCode` = `null`): bool
public function setAllowedChars(string `$pattern`, int `$patternOptions` = 0): void
public function setAllowedLocales(string `$locales`): void
public function setChecks(int `$checks`): void
public function setRestrictionLevel(int `$level`): void
}

## Constantes predefinidas

`Spoofchecker::SINGLE_SCRIPT_CONFUSABLE` int

`Spoofchecker::MIXED_SCRIPT_CONFUSABLE` int

`Spoofchecker::WHOLE_SCRIPT_CONFUSABLE` int

`Spoofchecker::ANY_CASE` int

`Spoofchecker::SINGLE_SCRIPT` int

`Spoofchecker::INVISIBLE` int

`Spoofchecker::CHAR_LIMIT` int

`Spoofchecker::ASCII` int

`Spoofchecker::HIGHLY_RESTRICTIVE` int

`Spoofchecker::MODERATELY_RESTRICTIVE` int

`Spoofchecker::MINIMALLY_RESTRICTIVE` int

`Spoofchecker::UNRESTRICTIVE` int

`Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE` int

`Spoofchecker::MIXED_NUMBERS` int

`Spoofchecker::HIDDEN_OVERLAY` int

`Spoofchecker::IGNORE_SPACE` int

`Spoofchecker::CASE_INSENSITIVE` int
  Habilita correspondência insensível a maiúsculas/minúsculas
`Spoofchecker::ADD_CASE_MAPPINGS` int

  Adiciona todos os mapeamentos de maiúsculas/minúsculas para cada elemento no conjunto

`Spoofchecker::SIMPLE_CASE_INSENSITIVE` int
  Habilita correspondência insensível a maiúsculas/minúsculas

## Registro de Alterações

Versão | Descrição
--- | ---
8.4.0 | Adicionadas as constantes `Spoofchecker::IGNORE_SPACE`, `Spoofchecker::CASE_INSENSITIVE`, `Spoofchecker::ADD_CASE_MAPPINGS` e `Spoofchecker::SIMPLE_CASE_INSENSITIVE`.
8.4.0 | As constantes de classe agora são tipadas.
7.3.0 | Constantes de classe usadas por Spoofchecker::setRestrictionLevel() como `Spoofchecker::ASCII`, `Spoofchecker::HIGHLY_RESTRICTIVE`, `Spoofchecker::MODERATELY_RESTRICTIVE`, `Spoofchecker::MINIMALLY_RESTRICTIVE`, `Spoofchecker::UNRESTRICTIVE`, `Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE` foram adicionadas.

## Índice

- Spoofchecker::areConfusable — Verifica se as strings fornecidas podem ser confundidas
- Spoofchecker::__construct — Construtor
- Spoofchecker::isSuspicious — Verifica se um texto fornecido contém algum caractere suspeito
- Spoofchecker::setAllowedChars — Define o conjunto de caracteres permitidos ao executar verificações
- Spoofchecker::setAllowedLocales — Localidades a usar nas verificações executadas
- Spoofchecker::setChecks — Define as verificações que serão executadas
- Spoofchecker::setRestrictionLevel — Define o nível de restrição

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open