Jump to content

Extension:AntiSpoof

From mediawiki.org
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.
MediaWiki >= 1.43
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 103 (Ranked 57th)
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
  • Yes 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)