Extension:AntiSpoof

MediaWiki extensions manual
AntiSpoof
Release status: stable
Implementation User activity
Description Prevents the creation of confusable usernames.
Author(s) Brooke Vibbertalk
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
Database changes Yes
Composer mediawiki/anti-spoof
Tables spoofuser
License GNU General Public License 2.0 or later
Download
  • $wgAntiSpoofProhibitedCharacters
  • $wgAntiSpoofAccounts
  • override-antispoof
Quarterly downloads 80 (Ranked 66th)
Public wikis using 2,675 (Ranked 190th)
Translate the AntiSpoof extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The AntiSpoof extension is an extension for preventing confusable usernames from being created. It blocks the creation of accounts with mixed-script, confusing and similar usernames.

For example, if user John Doe is already registered, the extension will block attempts to register:

  • joHn dOE (capital letters in different places)
  • Jοhn Doe ("ο" in Jοhn is Greek small letter omicron)
  • John Dоe ("о" in Dоe is Cyrillic small letter O)
  • Јohn Doe ("Ј" in Јohn is Cyrillic capital letter Je)
  • John Đoe ("Đ" in Đoe is Latin capital letter D with stroke)
  • Jóhn Doe ("ó" in Jóhn is Latin small letter O with acute)
  • John ​Doe (there is a Zero-width space before Doe)
  • Jøhn Doe ("ø" in Jøhn is Scandinavian oe)
  • J0hn Doe ("0" is the number zero)

etc.

Installation

  • Download and move the extracted AntiSpoof folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/AntiSpoof
  • Only when installing from Git, run Composer to install PHP dependencies, by issuing composer install --no-dev in the extension directory. (See task T173141 for potential complications.)
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'AntiSpoof' );
    
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  • In case user accounts are stored in a shared database, add:
$wgSharedTables[] = 'spoofuser';
  • Run the batchAntiSpoof.php script from the command line to pre-populate the spoofuser table with your wiki's existing usernames.
php maintenance/run.php AntiSpoof:batchAntiSpoof.php
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
  • To verify that it's working, try creating an account for username "Adm1n"; most wikis have an "Admin" account and so AntiSpoof should reject this lookalike username with a message like "The name Adm1n is too similar to the existing account: Admin".
When installing from Git, please note that this extension requires Composer.

So, after installation from Git change to the directory containing the extension e.g. "../extensions/AntiSpoof/" and run composer install --no-dev, or when updating: composer update --no-dev.

Alternatively as well as preferably add the line "extensions/AntiSpoof/composer.json" to the "composer.local.json" file in the root directory of your wiki like e.g.

{
	"extra": {
		"merge-plugin": {
			"include": [
				"extensions/AntiSpoof/composer.json"
			]
		}
	}
}


See also

  • Equivset (provides the equivalence sets used by AntiSpoof)