« abusefilter.php

code reviewgit-loggit-blameraw text


<?php
# WARNING: This file is publicly viewable on the web. Do not put private data here.

# This file is for the default permissions and custom permissions
# of the AbuseFilter extension.
#
# NOTE: Included for all wikis.
#
# Load tree:
#  |-- wmf-config/CommonSettings.php
#	  |
#	  `-- wmf-config/abusefilter.php
#

// Inline comments are often used for noting the task(s) associated with specific configuration
// and requiring comments to be on their own line would reduce readability for this file
// phpcs:disable MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment

$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = true; // T44012

// Provides access to private information - T160357
// Only CheckUsers/Stewards/Staff and Ombudsmen allowed.
$wgGroupPermissions['sysop']['abusefilter-privatedetails'] = false;
$wgGroupPermissions['sysop']['abusefilter-privatedetails-log'] = false;

// T160357 - Log accessing private abusefilter details
$wgAbuseFilterLogPrivateDetailsAccess = true;

// T160357 - Allow those with CheckUser right to access AbuseLog private information on WMF projects and its log
// Only CheckUsers/Stewards/Staff and Ombudsmen allowed
$wgGroupPermissions['checkuser']['abusefilter-privatedetails'] = true;
$wgGroupPermissions['checkuser']['abusefilter-privatedetails-log'] = true;

// T369610 - AbuseFilter's extension.json gives the right to view protected vars logs to sysop
// in order to support third-party wiki use cases. WMF wikis will prefer to give this right
// to the `checkuser` group in order to maintain parity with other privileged logs.
$wgGroupPermissions['sysop']['abusefilter-protected-vars-log'] = false;
$wgGroupPermissions['checkuser']['abusefilter-protected-vars-log'] = true;

// Disable some potentially dangerous actions
$wgAbuseFilterActions = [
	'block' => false,
	'rangeblock' => false,
	'degroup' => false,
];

// T66255 - Enable logging to irc.wikimedia.org by default
$wgAbuseFilterNotifications = "udp";

// Enable wgAbuseFilterNotificationsPrivate by default for WMF wikis - T266298
$wgAbuseFilterNotificationsPrivate = true;

// T113164 Change default AbuseFilter IP block duration to not indefinite
$wgAbuseFilterAnonBlockDuration = '1 week';

$wgAbuseFilterSlowFilterRuntimeLimit = 800;

// Setting this to true should be non-controversial, but many wikis don't assign it to sysops.
// Also, several wikis assign this right although no reversible actions are enabled.
$wgGroupPermissions['sysop']['abusefilter-revert'] = false;

// T309609 — Set default AbuseFilter condition limit to 2000
$wgAbuseFilterConditionLimit = 2000;

// Custom permissions
switch ( $wgDBname ) {
	case 'arwiki':
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['sysop']['abusefilter-view-private'] = false;
		$wgGroupPermissions['sysop']['abusefilter-log-private'] = false;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['checkuser']['abusefilter-view-private'] = true;
		break;
	case 'azbwiki': // T109755
		$wgGroupPermissions['abusefilter']['abusefilter-log'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify-restricted'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-revert'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-view'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-view-private'] = true;
		break;
	case 'be_x_oldwiki':
		$wgGroupPermissions['autoconfirmed']['abusefilter-log'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false; // T44012
		$wgGroupPermissions['abusefilter']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify-restricted'] = true;
		break;
	case 'bnwiki':
		$wgAbuseFilterActions['block'] = true; // T361852
		$wgAbuseFilterBlockDuration = '3 days'; // T361852
		$wgAbuseFilterAnonBlockDuration = '12 hours'; // T361852
		break;
	case 'cawiki':
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify-restricted'] = true; // T50457
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['user']['abusefilter-view'] = true;
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterBlockDuration = '2 hours';
		$wgAbuseFilterAnonBlockDuration = '2 hours';
		break;
	case 'ckbwiki':
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['*']['abusefilter-log'] = false;
		$wgAbuseFilterNotifications = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log'] = true;
		$wgGroupPermissions['interface-editor']['abusefilter-modify'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgGroupPermissions['sysop']['abusefilter-log-private'] = true;
		break;
	case 'elwiki':
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		break;
	case 'enwiki':
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify-restricted'] = true; // T405999
		$wgGroupPermissions['abusefilter']['changetags'] = true; // T97013
		$wgGroupPermissions['abusefilter']['managechangetags'] = true; // T141847
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgGroupPermissions['abusefilter-helper']['abusefilter-view-private'] = true; // T175684
		break;
	case 'enwikibooks':
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['*']['abusefilter-log'] = false;
		$wgAbuseFilterNotifications = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = true; // T383332
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true; // T411828
		$wgAbuseFilterActions['block'] = true; // T273864
		break;
	case 'enwikinews':
		$wgAbuseFilterActions['block'] = true; // T57868
		break;
	case 'enwikiquote':
		$wgAbuseFilterActions['block'] = true; // T413530
		break;
	case 'enwikisource':
		$wgAbuseFilterActions['block'] = true; // T231750
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['sysop']['abusefilter-view-private'] = false;
		$wgGroupPermissions['sysop']['abusefilter-log-private'] = false;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify-restricted'] = true; // T231750
		break;
	case 'enwikivoyage':
		$wgAbuseFilterActions['block'] = true; // T408885
		break;
	case 'eswiki':
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false; // T44012
		$wgGroupPermissions['user']['abusefilter-log'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true; // T262174
		$wgGroupPermissions['abusefilter']['abusefilter-log-detail'] = true; // T262174
		$wgGroupPermissions['abusefilter']['abusefilter-log-private'] = true; // T262174
		$wgGroupPermissions['abusefilter']['abusefilter-revert'] = true; // T284797
		$wgGroupPermissions['abusefilter']['abusefilter-view-private'] = true; // T262174
		$wgGroupPermissions['abusefilter']['managechangetags'] = true; // T285167
		$wgGroupPermissions['abusefilter']['oathauth-enable'] = true; // T262174
		$wgAbuseFilterActions['block'] = true; // T284797
		$wgAbuseFilterBlockDuration = '24 hours'; // T284797
		$wgAbuseFilterAnonBlockDuration = '24 hours'; // T284797
		break;
	case 'eswikibooks':
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['*']['abusefilter-log'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false; // T44012
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterBlockDuration = 'indefinite'; // T96669
		$wgAbuseFilterAnonBlockDuration = '31 hours'; // T96669
		break;
	case 'eswikinews': // T236730
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterAnonBlockDuration = '31 hours';
		$wgAbuseFilterBlockDuration = '31 hours';
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		break;
	case 'eswikiquote': // T177760, T177761
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterBlockDuration = '1 day';
		$wgAbuseFilterAnonBlockDuration = '1 day';
		break;
	case 'eswiktionary':
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterActions['blockautopromote'] = false;
		$wgAbuseFilterBlockDuration = '2 days';
		$wgAbuseFilterAnonBlockDuration = '2 days';
		break;
	case 'eswikivoyage': // T64321
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterBlockDuration = '1 day';
		$wgAbuseFilterAnonBlockDuration = '1 day';
		break;
	case 'fawiki': // T71073 and T74502
		$wgGroupPermissions['*']['abusefilter-log'] = false;
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false;
		$wgGroupPermissions['patroller']['abusefilter-log'] = true;
		$wgGroupPermissions['patroller']['abusefilter-view'] = true;
		$wgGroupPermissions['patroller']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['autopatrolled']['abusefilter-log'] = true;
		$wgGroupPermissions['autopatrolled']['abusefilter-view'] = true;
		$wgGroupPermissions['autopatrolled']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-log'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-log-private'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-view'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-view-private'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-revert'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify-restricted'] = true;
		$wgGroupPermissions['eliminator']['abusefilter-log'] = true;
		$wgGroupPermissions['eliminator']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['eliminator']['abusefilter-view'] = true;
		$wgGroupPermissions['sysop']['abusefilter-log'] = true;
		$wgGroupPermissions['sysop']['abusefilter-log-private'] = true;
		$wgGroupPermissions['sysop']['abusefilter-view'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgAbuseFilterActions = [ 'rangeblock' => true ];
		$wgAbuseFilterAnonBlockDuration = '1 week'; // T87317
		$wgAbuseFilterBlockDuration = '2 weeks'; // T167562
		$wgAbuseFilterNotifications = false;
		break;
	case 'fawikiquote': // T178227
		$wgAbuseFilterActions = [ 'rangeblock' => true ];
		$wgAbuseFilterBlockDuration = '2 weeks';
		$wgAbuseFilterAnonBlockDuration = '1 week';
		break;
	case 'fiwiki': // T59395
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		break;
	case 'frwiki':
	case 'frwikibooks': // wikibooks by T28142
		// !!! Please be careful if you edit these rules, they are shared
		// by two wikis. Create two sections, one per wiki, if needed. !!!
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['sysop']['abusefilter-view-private'] = false;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-revert'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-private'] = true; // T40216
		break;
	case 'frwiktionary':
		$wgGroupPermissions['abusefilter']['abusefilter-log'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-view'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-revert'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify-restricted'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgGroupPermissions['sysop']['abusefilter-log'] = true;
		$wgGroupPermissions['sysop']['abusefilter-view'] = true;
		$wgGroupPermissions['sysop']['abusefilter-log-detail'] = false;
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['sysop']['abusefilter-view-private'] = false;
		$wgGroupPermissions['sysop']['abusefilter-log-private'] = false;
		$wgGroupPermissions['autopatrolled']['abusefilter-log'] = true;
		$wgGroupPermissions['autopatrolled']['abusefilter-view'] = true;
		$wgGroupPermissions['patroller']['abusefilter-log'] = true;
		$wgGroupPermissions['patroller']['abusefilter-view'] = true;
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['*']['abusefilter-log'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false; // T44012
		$wgAbuseFilterNotifications = false;
		break;
	case 'ganwiki':
		$wgAbuseFilterActions['block'] = true; // T406220
		break;
	case 'hewiki':
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		break;
	case 'hiwiki':
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['sysop']['abusefilter-view-private'] = false;
		$wgGroupPermissions['sysop']['abusefilter-log-private'] = false;
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		break;
	case 'hrwiki':
		$wgAbuseFilterActions['block'] = true; // T270997
		$wgAbuseFilterBlockDuration = 'indefinite'; // T270997
		$wgAbuseFilterAnonBlockDuration = '2 days'; // T270997
		break;
	case 'itwiki':
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['*']['abusefilter-log'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false;
		$wgGroupPermissions['sysop']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['sysop']['abusefilter-view'] = true;
		$wgGroupPermissions['sysop']['abusefilter-log'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
		$wgAbuseFilterActions['block'] = true; // T30153
		$wgAbuseFilterBlockDuration = '4 hours';
		$wgAbuseFilterAnonBlockDuration = '4 hours';
		$wgAbuseFilterNotifications = false;
		break;
	case 'itwikibooks': // T202808
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterBlockDuration = '1 day';
		$wgAbuseFilterAnonBlockDuration = '1 day';
		break;
	case 'itwikinews':
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterBlockDuration = '1 day';
		$wgAbuseFilterAnonBlockDuration = '1 day';
		break;
	case 'itwikiquote':
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		break;
	case 'itwikiversity': // T328194
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterBlockDuration = '1 day';
		$wgAbuseFilterAnonBlockDuration = '1 day';
		break;
	case 'itwiktionary': // T199783
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterBlockDuration = '1 day';
		$wgAbuseFilterAnonBlockDuration = '1 day';
		break;
	case 'jawiki':
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['sysop']['abusefilter-view-private'] = false;
		$wgGroupPermissions['sysop']['abusefilter-log-private'] = false;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['*']['abusefilter-log-detail'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false; // T44012
		$wgGroupPermissions['abusefilter']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		break;
	case 'labswiki': // wikitech.wikimedia.org
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterBlockDuration = 'indefinite';
		$wgAbuseFilterAnonBlockDuration = '31 hours';
		break;
	case 'ltwiki':
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		break;
	case 'ltwiktionary':
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['sysop']['abusefilter-view-private'] = false;
		$wgGroupPermissions['sysop']['abusefilter-log-private'] = false;
		break;
	case 'mediawikiwiki':
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false; // T44012
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterAnonBlockDuration = '3 months'; // T72828
		break;
	case 'metawiki':
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true; // T76270
		$wgGroupPermissions['sysop']['abusefilter-modify-global'] = true; // T192722
		$wgGroupPermissions['steward']['abusefilter-modify-global'] = true; // T150752
		$wgGroupPermissions['steward']['abusefilter-privatedetails'] = true; // T160357
		$wgAbuseFilterActions['block'] = true; // T54681
		$wgAbuseFilterAnonBlockDuration = '31 hours'; // T76270
		break;
	case 'mrwiki':
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = true; // T42611
		break;
	case 'newiki':
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true; // T95102
		$wgGroupPermissions['abusefilter']['abusefilter-revert'] = true; // T95102
		break;
	case 'nlwiki':
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['*']['abusefilter-log'] = false;
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['sysop']['abusefilter-view-private'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify-restricted'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-revert'] = true;
		$wgGroupPermissions['checkuser']['abusefilter-log-private'] = true; // T370605
		break;
	case 'nowiki':
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['sysop']['abusefilter-view-private'] = false;
		$wgGroupPermissions['sysop']['abusefilter-log-private'] = false;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false; // T44012
		break;
	case 'plwiki':
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify-restricted'] = true; // T224308
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false; // T44012
		$wgAbuseFilterActions['block'] = true; // T224617
		$wgAbuseFilterBlockDuration = '2 hours'; // T224617
		$wgAbuseFilterAnonBlockDuration = '2 hours'; // T224617
		break;
	case 'plwikiquote':
		$wgAbuseFilterActions['block'] = true; // T398137
		break;
	case 'ptwiktionary':
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false; // T44012
		$wgAbuseFilterActions['block'] = true; // T134779
		$wgAbuseFilterAnonBlockDuration = '3 days'; // T134779
		break;
	case 'rowiki': // T407978
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['*']['abusefilter-log'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false;
		$wgGroupPermissions['extendedconfirmed']['abusefilter-log'] = true;
		$wgGroupPermissions['patroller']['abusefilter-view'] = true;
		$wgGroupPermissions['patroller']['abusefilter-log'] = true;
		$wgGroupPermissions['patroller']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['sysop']['abusefilter-view'] = true;
		$wgGroupPermissions['sysop']['abusefilter-log'] = true;
		$wgGroupPermissions['sysop']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-view'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-log'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-log-detail'] = true;
		break;
	case 'ruwiki':
		## Scaled back from sysop to autoconfirmed -- T19998 -- Andrew 2009-03-16
		## Taken back to * per the same bug reopened -- Andrew 2009-04-24
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		break;
	case 'ruwikinews':
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		break;
	case 'ruwikisource':
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = false; // T44012
		break;
	case 'shwiki':
		$wgAbuseFilterActions['block'] = true; // T345513
		$wgAbuseFilterBlockDuration = '1 day'; // T345513
		$wgAbuseFilterAnonBlockDuration = '1 day'; // T345513
		break;
	case 'srwiki':
		$wgAbuseFilterActions['block'] = true; // T349727
		break;
	case 'srwikibooks':
		$wgAbuseFilterActions['block'] = true; // T392363
		break;
	case 'srwikinews':
		$wgAbuseFilterActions['block'] = true; // T392363
		break;
	case 'srwikisource':
		$wgAbuseFilterActions['block'] = true; // T392363
		break;
	case 'srwikiquote':
		$wgAbuseFilterActions['block'] = true; // T392363
		break;
	case 'srwiktionary':
		$wgAbuseFilterActions['block'] = true; // T392363
		break;
	case 'testwiki':
		$wgAbuseFilterActions['block'] = true;
		$wgAbuseFilterAnonBlockDuration = '24 hours';
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true; // T398107
		break;
	case 'thwiki':
		// T30502
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
		$wgGroupPermissions['*']['abusefilter-log'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log-detail'] = true; // T48154
		$wgAbuseFilterNotifications = false;
		break;
	case 'trwiki':
		$wgGroupPermissions['interface-editor']['abusefilter-modify-restricted'] = true; // T161960
		$wgAbuseFilterActions['block'] = true; // T161960
		$wgAbuseFilterBlockDuration = 'indefinite'; // T161960
		$wgAbuseFilterAnonBlockDuration = '24 hours';
		break;
	case 'trwikiquote':
		$wgAbuseFilterActions['block'] = true; // T315736
		$wgAbuseFilterBlockDuration = 'indefinite'; // T315736
		$wgAbuseFilterAnonBlockDuration = '72 hours'; // T315736
		break;
	case 'ukwiki':
		$wgGroupPermissions['*']['abusefilter-log'] = false;
		$wgGroupPermissions['*']['abusefilter-view'] = false;
		$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
		$wgGroupPermissions['autoconfirmed']['abusefilter-log'] = true;
		$wgAbuseFilterActions['blockautopromote'] = false;
		$wgAbuseFilterActions['block'] = true; // T89379
		$wgAbuseFilterBlockDuration = '2 hours';	// T89379
		$wgAbuseFilterAnonBlockDuration = '2 hours';
		$wgAbuseFilterNotifications = false;
		break;
	case 'ukwikivoyage':
		$wgAbuseFilterActions['block'] = true; // T275271
		break;
	case 'urwiki':
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true; // T47643
		break;
	case 'viwiki': // T399535
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		break;
	case 'wikidatawiki':
		$wgAbuseFilterActions['block'] = true; // T59681
		$wgAbuseFilterBlockDuration = 'indefinite'; // T59681
		$wgAbuseFilterAnonBlockDuration = '3 months'; // T59681
		break;
	case 'zhwiki':
		$wgAbuseFilterActions['block'] = true; // T210364
		$wgAbuseFilterBlockDuration = '24 hours'; // T210364
		$wgAbuseFilterAnonBlockDuration = '24 hours'; // T210364
		$wgGroupPermissions['abusefilter-helper']['abusefilter-log-private'] = true; // T344398
		$wgGroupPermissions['abusefilter-helper']['abusefilter-view-private'] = true; // T344398
		$wgGroupPermissions['rollbacker']['abusefilter-log-private'] = true; // T39676
		$wgGroupPermissions['abusefilter']['abusefilter-log-private'] = true; // T386879
		$wgGroupPermissions['abusefilter']['abusefilter-view-private'] = true; // T386879
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true; // T386879
		$wgGroupPermissions['abusefilter']['managechangetags'] = true; // T386879
		break;
	case 'zhwikibooks':
		$wgAbuseFilterActions['block'] = true; // T330026
		$wgAbuseFilterBlockDuration = '24 hours'; // T330026
		$wgAbuseFilterAnonBlockDuration = '24 hours'; // T330026
		break;
	case 'zhwikiquote':
		$wgAbuseFilterActions['block'] = true; // T330026
		$wgAbuseFilterBlockDuration = '24 hours'; // T330026
		$wgAbuseFilterAnonBlockDuration = '24 hours'; // T330026
		break;
	case 'zhwikiversity':
		$wgAbuseFilterActions['block'] = true; // T307007
		$wgAbuseFilterBlockDuration = '24 hours'; // T307007
		$wgAbuseFilterAnonBlockDuration = '24 hours'; // T307007
		break;
	case 'zhwikivoyage':
		$wgAbuseFilterActions['block'] = true; // T353604
		$wgAbuseFilterBlockDuration = '24 hours'; // T353604
		$wgAbuseFilterAnonBlockDuration = '24 hours'; // T353604
		break;
	case 'zh_yuewiki':
		$wgAbuseFilterActions['block'] = true; // T270567
		$wgAbuseFilterBlockDuration = '31 hours'; // T270567
		$wgAbuseFilterAnonBlockDuration = '31 hours'; // T270567
		$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
		$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
		$wgGroupPermissions['abusefilter']['abusefilter-modify'] = true;
		$wgGroupPermissions['sysop']['abusefilter-modify'] = false;
		$wgGroupPermissions['sysop']['abusefilter-view-private'] = false;
		$wgGroupPermissions['sysop']['abusefilter-log-private'] = false;
		break;
	// Please add new wikis in their correct place in alphabetical order!
}

if ( $wmgRealm === 'labs' ) {
	// T103060
	$wgAbuseFilterActions['block'] = true;
	$wgAbuseFilterBlockDuration = 'indefinite';
	$wgAbuseFilterAnonBlockDuration = '48 hours';
	$wgAbuseFilterLogIP = false; // Prevent the collection of IP addresses - T188862
	$wgAbuseFilterLogIPMaxAge = 1; // Purge data older than 1 second (hack to clean all data)
}