W3cubDocs

/PHP

The Spoofchecker class

Introduction

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

This class is provided because Unicode contains large number of characters and incorporates the varied writing systems of the world and their incorrect usage can expose programs or systems to possible security attacks using characters similarity.

Provided methods allow to check whether an individual string is likely an attempt at confusing the reader (spoof detection), such as "pаypаl" spelled with Cyrillic 'а' characters.

Class synopsis

class Spoofchecker {
/* Constants */
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 MINIMALLY_RESTRICTIVE;
public const int UNRESTRICTIVE;
public const int MIXED_NUMBERS;
public const int HIDDEN_OVERLAY;
/* Methods */
public __construct()
public areConfusable(string $string1, string $string2, int &$errorCode = null): bool
public isSuspicious(string $string, int &$errorCode = null): bool
public setAllowedLocales(string $locales): void
public setChecks(int $checks): void
public setRestrictionLevel(int $level): void
}

Predefined Constants

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

Changelog

Version Description
8.4.0 The class constants are now typed.
7.3.0 Class constants used by Spoofchecker::setRestrictionLevel() such as Spoofchecker::ASCII, Spoofchecker::HIGHLY_RESTRICTIVE, Spoofchecker::MODERATELY_RESTRICTIVE, Spoofchecker::MINIMALLY_RESTRICTIVE, Spoofchecker::UNRESTRICTIVE, Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE has been added.

Table of Contents

© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/class.spoofchecker.php