# La classe Spoofchecker

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

## Introduction

Cette classe est fournie car Unicode contient un grand nombre de caractères et incorpore les systèmes d'écriture variés du monde et leur utilisation incorrecte peut exposer des programmes ou des systèmes à d'éventuelles attaques de sécurité en utilisant la similarité des caractères.

Les méthodes fournies permettent de vérifier si une chaîne individuelle est susceptible d'être une tentative à tromper le lecteur (`détection de tromperie`), tel que dans "pаypаl" orthographié avec un caractère 'а' cyrillique.

## Synopsis de la 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éthodes */
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 pré-définies

`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
  Active la correspondance insensible à la casse
`Spoofchecker::ADD_CASE_MAPPINGS` int

  Ajoute toutes les correspondances de casse pour chaque élément de l'ensemble

`Spoofchecker::SIMPLE_CASE_INSENSITIVE` int
  Active la correspondance insensible à la casse

## Historique

Version | Description
--- | ---
8.4.0 | Ajout de `Spoofchecker::IGNORE_SPACE`, `Spoofchecker::CASE_INSENSITIVE`, `Spoofchecker::ADD_CASE_MAPPINGS`, `Spoofchecker::SIMPLE_CASE_INSENSITIVE`.
8.4.0 | Les constantes de classe sont maintenant typées.
7.3.0 | Les constantes de classe utilisées par Spoofchecker::setRestrictionLevel() telles que `Spoofchecker::ASCII`, `Spoofchecker::HIGHLY_RESTRICTIVE`, `Spoofchecker::MODERATELY_RESTRICTIVE`, `Spoofchecker::MINIMALLY_RESTRICTIVE`, `Spoofchecker::UNRESTRICTIVE`, `Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE` ont été ajoutées.

## Sommaire

- Spoofchecker::areConfusable — Vérifie si les chaînes données peuvent être confondues
- Spoofchecker::__construct — Constructeur
- Spoofchecker::isSuspicious — Vérifie si un texte contient des caractères suspects
- Spoofchecker::setAllowedChars — Définit l'ensemble des caractères autorisés lors de l'exécution des vérifications
- Spoofchecker::setAllowedLocales — Locales à utiliser lors de la vérification
- Spoofchecker::setChecks — Spécifie les vérifications à effectuer
- Spoofchecker::setRestrictionLevel — Définit le niveau de restriction

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