Jump to content

Extension:SpamRegex

From mediawiki.org
Revision as of 14:14, 1 May 2024 by Jack Phoenix (talk | contribs) (https://gerrit.wikimedia.org/r/1025464 is now merged and thus https://phabricator.wikimedia.org/T347215 is resolved)
MediaWiki extensions manual
SpamRegex
Release status: stable
Implementation Special page
Description Adds a special page to filter out unwanted expressions.
Author(s)
Latest version 1.8
MediaWiki 1.39+
Database changes Yes
License GNU General Public License 2.0 or later
Download
  • spamregex
Quarterly downloads 5 (Ranked 132nd)
Public wikis using 1,117 (Ranked 252nd)
Translate the SpamRegex extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The SpamRegex extension creates a new page, "Special:SpamRegex", to filter out unwanted links or text. A full list of currently blocked links or text can be viewed on this same special page. The spamregexed expressions cannot be used in page content, edit summaries or page move summaries, depending on what was chosen by the user who blocked links or text.

Installation

  • Download and move the extracted SpamRegex 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/SpamRegex
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'SpamRegex' );
    
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  • This extension uses Memcached - please check if Memcached is configured properly in Global/LocalSettings.php .
  • Ensure the spamregex user right is given to a group that exists; by default this user right is given to the staff user group (which does not exist in a default MediaWiki installation).
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Usage

  1. Go to "Special:SpamRegex"
  2. Enter the phrase to be blocked into the "Phrase to block" box
  3. Supply a reason for blocking the phrase
  4. Select one or both of the available options: block phrase in page text & block phrase in summary (edit summaries, page move summaries)
  5. Press the "Block this phrase" button

Interoperability

SpamRegex also supports checking content submitted via the following extensions for spam:

Note that none of these extensions use the ContentHandler or Content classes defined in MediaWiki core, for better or for worse.

See the hooked functions in /extensions/SpamRegex/includes/backend/SpamRegexHooks.php for an idea of how to add support for another custom extension. The basic idea is simple: get the desired data from SpamRegex (call SpamRegex::fetchRegexData() with either SpamRegex::TYPE_TEXTBOX or SpamRegex::TYPE_SUMMARY as the parameter), ensure that you got something, iterate over the array and use PHP's preg_match() to detect a match. In case of a match, signal this to the consumer code by e.g. returning a boolean so that the consumer knows that the submission is spam and should not be saved.

See also