The Spoofchecker class
(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.
类摘要
预定义常量
-
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
更新日志
版本 | 说明 |
---|---|
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.
|
目录
- Spoofchecker::areConfusable — Checks if given strings can be confused
- Spoofchecker::__construct — Constructor
- Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters
- Spoofchecker::setAllowedLocales — Locales to use when running checks
- Spoofchecker::setChecks — Set the checks to run
- Spoofchecker::setRestrictionLevel — Set the restriction level
+添加备注
用户贡献的备注 2 notes
Anonymous ¶
7 years ago
From http://icu-project.org/apiref/icu4j/com/ibm/icu/text/SpoofChecker.html :
SINGLE_SCRIPT_CONFUSABLE: indicates that the two strings are visually confusable and that they are from the same script
MIXED_SCRIPT_CONFUSABLE: indicates that the two strings are visually confusable and that they are NOT from the same script
WHOLE_SCRIPT_CONFUSABLE: indicates that the two strings are visually confusable and that they are NOT from the same script BUT both of them are single-script strings
ANY_CASE: Deprecated.
SINGLE_SCRIPT: Deprecated.
INVISIBLE: Check an identifier for the presence of invisible characters, such as zero-width spaces, or character sequences that are likely not to display, such as multiple occurrences of the same non-spacing mark.
CHAR_LIMIT: Check that an identifier contains only characters from a specified set of acceptable characters.
Explanation of whole script, mixed script and single script confusables in UTS 39 section 4 : http://unicode.org/reports/tr39/#Confusable_Detection
Details from Java SpoofChecker class at http://icu-project.org/apiref/icu4j/com/ibm/icu/text/SpoofChecker.html
Anonymous ¶
6 years ago
Spoofchecker yields false positives by defaut when Whole-Script Confusables (WSC) and Mixed-Script Confusables (MSC) checks are used.
They have been deprecated since ICU 58:
http://bugs.icu-project.org/trac/ticket/12549#comment:10
Workarounds: upgrade ICU to 58+, or avoid the MSC and WSC checks with Spoofcheckers' setChecks() function.