Sufficiently privileged users (typically, sysops) can block and unblock IP addresses and user accounts from editing, uploading files, moving pages, and, if they have been granted such rights, protecting/unprotecting and deleting/undeleting pages.
MediaWiki handles blocks through an abstraction layer; extensions can add their own block types. The mechanism for creating/updating/removing blocks and how they are logged and listed are different for each block type; the mechanism for checking whether a user is blocked, preventing blocked actions and informing the user is unified.
Standard blocking interfaceMediaWiki core blocks are applied via the form at the special page Special:Block. There are several steps to applying a block:
Click "Add block" to apply the block. All blocks are recorded in the block log, and all currently active blocks are listed at the list of active blocks.
Note that in addition to manually entering the IP address or user account to be blocked into Special:Block, you may also follow the "Add block" link from the toolbox in the sidebar when viewing the "User" or "User talk" page of the IP address or user account. You can also click on the "block" link next following an IP address or user account name in the recent changes list or the page history.
Blocking optionsSeveral extra blocking options were added in version 1.8 of MediaWiki, which are enabled by checking a check box on the blocking form.
≥ 1.33
Since MediaWiki 1.33, it is possible to prohibit the block target from making changes only to the specified pages and/or all pages in namespaces. If a page is moved, the restriction will be switched to the new title. Currently non-existent ("redlink") pages cannot be blocked, and setting multiple overlapping blocks with different expiration dates is not supported.
In MediaWiki 1.33 and 1.34, partial blocks are disabled by default. It can be enabled by setting $wgEnablePartialBlocks = true
.
≥ 1.35
Since MediaWiki 1.35, partial blocks are always enabled and cannot be disabled. You may hide partial blocks form elements by adding some JS or CSS to user or site common.js/common.css. This does not disable partial blocks which may still be set via API.
Multiple blocks MediaWiki version:≥ 1.44
Since MediaWiki 1.44 with $wgEnableMultiBlocks set, sysops can add multiple layered blocks to the same target – a feature known as "multiblocks". See Help:Manage blocks for more information.
UnblockingAn IP address or registered user account can be unblocked via the list of active blocks. Find the IP address or registered user account you wish to unblock in the list (you can enter the address or name in the "Find a blocked user" field to help you find the entry), and click the "unblock" link displayed to the right of the block's expiry time.
This will lead you to a confirmation page. Enter the reason for unblocking (optional) in the "Reason:" field, and click "Remove this block" to remove the block. All unblockings are recorded in the block log.
Note that if a range is blocked, then the unblock must cover the whole range to be effective. Attempting to unblock an individual IP address in the range will not be effective.
Effects of being blockedWhen $wgBlockDisablesLogin
is enabled, blocked users are locked out of their account entirely. This is mainly meant for private wikis which need a mechanism to revoke reading privileges once a user is not active anymore.
On other wikis, blocked users may still read pages, but they may not create, edit or move pages, or upload files. Partially blocked users may not edit the particular pages or namespaces specified in their block, but may create, edit or move other pages, and may upload files. Users with certain other user rights may not be able to use those rights when they are blocked, depending on their block. For example, users with the rights to delete and undelete or protect and unprotect pages will not be able to do so if they are sitewide blocked. If they are partially blocked, then for any page they are not blocked from, they will still be able to perform these actions. However, users with the rights to block and unblock users will still be able to do so when they are blocked. Unblocking your own account requires the extra right unblockself
; by default all sysops have this but on large wikis it might make sense to remove it to make potential account takeovers less disruptive.
Users who are blocked and attempt to edit a page (or move a page, or upload a file) will see the "Your account or IP address has been blocked" message informing them that they have been blocked.
If the autoblock option has been enabled with respect to a block, and the blocked user attempts to edit (or move a page, or upload a file), the IP address being used by that user will also be blocked.
The configuration options below can be set in LocalSettings.php and can be used to enable or disable certain aspects of the blocking interface.
$wgAutoblockExpiry
- controls how many seconds need to pass until a block on an "autoblocked" IP address will expire. The default is 86400 seconds (one day)$wgBlockAllowsUTEdit
- controls whether or not a blocked user is able to edit their own user talk page. This is currently (1.26+) true by default. The ability to disable the ability of a blocked user to edit their own user talk page, when this variable is true, is an option available in Special:Block.$wgBlockDisablesLogin
- controls if blocked users will be prevented from logging in. This is false by default.$wgCookieSetOnAutoblock
- (1.29+) determines whether to set a cookie when a user is autoblocked. Doing so means that a blocked user, even after logging out and moving to a new IP address, will still be blocked. This is enabled by default.$wgEnableMultiBlocks
- (1.44+) allows sysops to create multiple layered blocks per target with the new manage blocks interface.To change the default options listed in the "Expiration" drop-down menu, edit the page MediaWiki:ipboptions. The options are stored as a comma-separated list of "label:value" strings, for example 6 hours:6 hours,infinite:infinite
. To have three options listed in Spanish, the page could include 6 horas:6 hours,2 días:2 days,para siempre:infinite
.
The default duration is "other". To specify another default duration, edit the page MediaWiki:ipb-default-expiry and enter the value you want. Note that you must write the value and not the label, if you were using the Spanish example listed above, MediaWiki:ipb-default-expiry should be infinite
(the value) and not para siempre
(the label).
≥ 1.35
To specify a default duration for anonymous users, edit the page MediaWiki:ipb-default-expiry-ip and enter the value you want. Using the Spanish example listed above, you could write 2 days
(the value) but not 2 días
(the label).
≥ 1.18
Special:Block accepts some URL parameters to prepopulate the HTML form:
wpTarget
- username/IP addresswpEditingRestriction
- the type of block restriction (=sitewide or =partial)wpPageRestrictions
- the pages to block (only applies for partial blocks; separate multiple pages with %0A; maximum 10 pages)wpNamespaceRestrictions
- IDs of the namespaces to block (only applies for partial blocks; separate multiple namespaces with %0A; see API:Block for a list of blockable namespace IDs)wpExpiry
- expiry timewpAutoBlock
- autoblock setting (=1 or =0)wpHardBlock
- hard block setting (=1 or =0)wpCreateAccount
- prevent account creation (=1 or =0)wpReason
- reason, from selection of MediaWiki:Ipbreason-dropdownwpReason-other
- prepopulating "other reason" text field≥ 1.44
In MediaWiki 1.44 with multiblocks enabled, Special:Block takes these additional parameters:
id
- The ID of the block to modifyremove
- Whether the block is to be removed (=1 or =0). This requires that id
also be setAll types of blocks are stored in the block
table. Older versions of MediaWiki (before 1.42) used the ipblocks
table instead, but stored user account blocks there as well. Only currently active blocks are stored here. To see old blocks, check the logging
table. ipb_address
is a string and can be a username, an IP address, or blank. ipb_user
contains the user_id
of the blocked user. Here is how to filter for different kinds of blocks:
bl_target_id
.
WHERE bt_user != 0
WHERE bt_user IS NULL AND bt_range_end = ''
WHERE bt_range_end != ''
WHERE bl_parent_block_id IS NULL OR bl_parent_block_id = 0
WHERE bl_by_actor = 1234
(replace number with user ID of the blocking admin)WHERE bl_by_actor = 0
WHERE bl_by_actor = 1
WHERE bl_expiry = 'infinity'
WHERE bl_expiry != 'infinity'
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4