Jump to content

Extension:StopForumSpam

From mediawiki.org
MediaWiki extensions manual
StopForumSpam
Release status: stable
Implementation Page action
Description Uses stopforumspam.com to prevent spam
Author(s)
Latest version 0.4.0
MediaWiki >= 1.43
License GNU General Public License 2.0 or later
Download
  • $wgSFSValidateIPListLocationMD5
  • $wgSFSDenyListCacheDuration
  • $wgSFSProxy
  • $wgSFSReportOnly
  • $wgSFSIPListLocation
  • $wgSFSIPThreshold
  • sfsblock-bypass
Quarterly downloads 55 (Ranked 76th)
Translate the StopForumSpam extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The StopForumSpam extension allows wikis to utilize and contribute data to stopforumspam.com. It features automatic IP blocking and an easy interface for administrators to submit data. Use of the IP deny list requires that you use some kind of object caching. It won't work if you have $wgMainCacheType set to CACHE_NONE. If neither APC or Memcached is an option, the simplest approach is to fallback to storing the object cache in your MySQL database. The following preset (in LocalSettings.php) will do that:

$wgMainCacheType = CACHE_DB;

Installation

  • Download and move the extracted StopForumSpam 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/StopForumSpam
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'StopForumSpam' );
    
  • Configure as required.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration

  • $wgSFSIPListLocation - location of an IP address deny list
  • $wgSFSReportOnly - enables a mode where users are not blocked from non-read actions after tripping the deny list
  • $wgSFSDenyListCacheDuration - Cache duration for the deny list in seconds. Adjust as required, especially if using a link to a file (as configured by default) rather than a local file.

User rights

  • sfsblock-bypass - allows users to bypass deny-listed IP blocks

Logging

To log reports about who StopForumSpam is exempting and blocking, you can enable the "StopForumSpam" channel in your structured logging configuration. All reports for the extension are logged at a level of INFO. If you do not have structured logging configured, you can log to a file by configuring $wgDebugLogGroups in your LocalSettings.php, like so:

$wgDebugLogGroups['StopForumSpam'] = '/var/log/mediawiki/stopforumspam.log';

This will write the log to a file located in /var/log/mediawiki/stopforumspam.log. MediaWiki will need access to write to this log file and the file should not be accessible via the web as it will contain private details of your users (such as usernames, page names, and IP addresses).

The simple logging using $wgDebugLogGroups will omit details compared to using a structured logging solution such as monolog .

AbuseFilter integration

When using the AbuseFilter , a variable named "sfs_blocked" is added. The value is false if the user is not a spammer, and true if they are a spammer.

IP blocking

Please note that since MediaWiki 1.36 maintenance/updateBlacklist.php has been renamed to maintenance/updateDenyList.php.

You can download IP deny lists, and import them using the maintenance/updateDenyList.php script. StopForumSpam has several lists; we recommend using the "listed_ip_30_all" list. Once you choose the list you want, download and extract it to somewhere on your server, then point $wgSFSIPListLocation in the LocalSettings.php file at it. We recommend setting up a nightly cron job to download and extract new versions of the list and subsequently running the updateDenyList maintenance script.

If that IP tries to edit, or a user tries to edit through that IP address, they will be prevented from editing. To exempt a user from being blocked, give them the sfsblock-bypass user right.