Spoofchecker クラス

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

はじめに

Unicode は非常にたくさんの文字と、 世界中の様々な表記体系を含んでいます。 そのため使い方を誤ると、 文字の類似性を利用して、 プログラムやシステムに対するセキュリティ攻撃が成立する可能性があります。 そのため、このクラスが提供されています。

このクラスのメソッドを使うと、 個別の文字列が、文字の読み手を混乱させようとしている可能性があるかをチェック(spoof detection)できます。 たとえば、キリル文字の 'а' が混じった "pаypаl" のような文字列のようなものをチェックできます。

クラス概要

class Spoofchecker {
/* Constants */
const int|float ASCII = 0x10000000;
const int|float HIGHLY_RESTRICTIVE = 0x30000000;
const int|float MODERATELY_RESTRICTIVE = 0x40000000;
const int|float MINIMALLY_RESTRICTIVE = 0x50000000;
const int|float UNRESTRICTIVE = 0x60000000;
const int|float SINGLE_SCRIPT_RESTRICTIVE = 0x20000000;
const int ANY_CASE = 8;
const int SINGLE_SCRIPT = 16;
const int INVISIBLE = 32;
const int CHAR_LIMIT = 64;
/* メソッド */
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
}

定義済み定数

Spoofchecker::ASCII

Spoofchecker::HIGHLY_RESTRICTIVE

Spoofchecker::MODERATELY_RESTRICTIVE

Spoofchecker::MINIMALLY_RESTRICTIVE

Spoofchecker::UNRESTRICTIVE

Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE

Spoofchecker::SINGLE_SCRIPT_CONFUSABLE

Spoofchecker::MIXED_SCRIPT_CONFUSABLE

Spoofchecker::WHOLE_SCRIPT_CONFUSABLE

Spoofchecker::ANY_CASE

Spoofchecker::SINGLE_SCRIPT

Spoofchecker::INVISIBLE

Spoofchecker::CHAR_LIMIT

変更履歴

バージョン 説明
7.3.0 Spoofchecker::setRestrictionLevel() で使うクラス定数、Spoofchecker::ASCII, Spoofchecker::HIGHLY_RESTRICTIVE, Spoofchecker::MODERATELY_RESTRICTIVE, Spoofchecker::MINIMALLY_RESTRICTIVE, Spoofchecker::UNRESTRICTIVE, Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE が追加されました。

目次

関連キーワード:  int, Spoofchecker, クラス, チェック, float, public, string, RESTRICTIVE, 文字, SINGLE