手册:封禁与解除封禁

This page is a translated version of the page Manual:Block and unblock and the translation is 71% complete.
Outdated translations are marked like this.

具有足够高权限的用户(通常是管理员)可以封禁或解除封禁IP地址和注册用户。被封禁用户无法编辑页面、上传文件、移动页面,并且如果被封禁的用户先前拥有保护页面、解除页面保护以及删除、还原页面的权限,被封禁后他们将不能进行这些操作。

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.

标准封禁界面

封禁操作可以通过特殊页面 Special:Block 做出。 进行封禁操作有以下几个步骤:

  1. 明确封禁的是IP地址还是注册用户。 在表单的“IP地址,用户名或封禁ID:”字段中输入被封禁的IP地址或者注册用户的用户名。 请注意:不存在的用户也能被封禁,所以请确定您输入的用户名是正确的。 您也可以封禁IP段,参考Help:段封禁 中的操作步骤。
  2. 指定封禁参数 选择要禁止封禁目标做出的操作 全站范围 封禁可阻止封禁目标编辑全站页面,而 部分页面 封禁可以阻止封禁目标编辑特定页面或某个名字空间的页面。
  3. 决定封禁的期限。 您可以在下拉菜单“期限:”中选择一个预先定义好的封禁期限,也可选择“其他”选项后输入一个自定义的符合GNU标准形式的值。 如果被封禁的期限是“永久”,那么封禁将永不失效,除非被封禁的IP或者注册用户在将来被管理员解除封禁。
  4. 确定封禁的理由(可选)。 这个理由将被显示在被封禁用户尝试编辑页面的错误提示中。

点击“封禁此用户”完成封禁操作。 所有的封禁会被记录在封禁日志中,并且所有当前生效中的封禁会被列在被封禁用户中。

您除了可以在Special:Block中手动输入被封禁的IP地址或用户名,还可以在访问用户或者用户讨论页时点击侧边栏工具的“封禁此用户”链接。 在最近更改或者页面历史中,您也可以点击用户名或IP地址右侧的“封禁”链接。

封禁选项

MediaWiki版本:
1.8

在MediaWiki 1.8及之后的版本中,一些额外的封禁选项被加入。这些选项可以通过勾选封禁页面中的确认框来启用。

仅封禁匿名用户(这也被称为软封禁
这个选项修改了封禁IP地址时的影响。 当它被启用时,封禁将只影响来自该IP地址的匿名用户编辑;来自该IP地址的注册用户编辑将不受影响。 这个选项对于封禁注册用户没有任何作用,但对由此产生的自动封禁是有效的。
阻止创建新用户
这个选项在封禁IP地址以及封禁注册用户时有效 当该选项被启用时,在封禁期间使用该IP地址进行创建新用户的操作将被阻止。 However, this can be bypassed by creating an account on another wiki and visiting the wiki where the block is active, as global accounts automatically create local accounts on wikis the first time they are visited by the user. However, the bypassing can be prevented by a global ban that prevents account creation.
自动封禁该用户使用的IP地址及其之后尝试使用的IP地址
这个选项将会在封禁注册用户时起作用。 如果启用,自动封禁将会对被封禁用户使用的最后一个IP地址以及之后该被封禁用户尝试使用的IP地址进行封禁。

部分封鎖

MediaWiki版本:
1.33

自MediaWiki 1.33版本起,可以僅阻止封禁目標修改特定頁面或特定命名空間的所有頁面。 如果頁面被移動,限制將轉換到新標題上。 目前無法阻止不存在的頁面(「紅色連結」),並且不支援設定重疊多個有不同結束日期的封鎖。

在MediaWiki 1.33和1.34中,預設情況下停用部分封鎖。 可以通過設定$wgEnablePartialBlocks = true來啟用它。

MediaWiki版本:
1.35

從MediaWiki 1.35開始,部分封鎖永遠啟用,且不能被停用。 您可以透過向使用者或全站的common.js/common.css加入一些JS或CSS來隱藏部分封鎖表單元素。 但這不會停用透過API設定的部分封鎖。

解除封禁

可以通过被封禁用户特殊页面来解除对IP地址或注册用户的封禁。 在列表中找到您想要解封的IP地址或注册用户(您可以在搜索框输入IP地址或用户名来快速查找),并点击显示在封禁期限右边的“解除封禁”链接来解除封禁。

这将会把您带到一个确认页面。 在“原因:”字段中输入解除封禁的理由(可选),并点击“解除此封禁”来移除这个封禁。 所有解除封禁的操作会被记录在封禁日志中。

请注意如果封禁的是IP段,那么解封的范围必须覆盖整个IP段。 尝试解除对单个IP地址的封禁是无效的。

被封禁后的效果

When $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.

被封禁的用户仍然能够阅读页面,但他们可能无法创建、修改或者移动页面,也无法上传文件。 被部分封鎖的的用戶不能在他們的封鎖中指定的頁面或命名空間,但仍可以建立、編輯或移動頁面,也能夠上傳檔案。 拥有其他用户权限的被封禁用户在被封禁期间也无法使用这些权限。 举个例子来说,拥有删除与还原页面以及保护及解除页面保护权限的用户在被全站封禁后将不能进行上述的操作。 如果他們被部分封鎖,他們仍可對那些沒有被封鎖的頁面進行操作。 但是,被封禁的用户如果拥有封禁及解除封禁的权限,那么他们仍然能够进行这些操作尽管他们已经被封禁。解除对自己账户的封禁需要额外拥有unblock-self权限;默认情况下管理员拥有此权限但是在较大维基中有理由移除这个权限以降低账户盗取的破坏性。

被封禁的用户如果尝试去编辑页面、移动页面或上传文件时会显示“您已被封禁”的提示来告知他们已经被封禁。

如果某封禁的自动封禁选项被启用,且被封禁用户尝试进行编辑页面、移动页面或上传文件的操作,那么该被封禁用户尝试进行操作的IP地址也会被封禁。

与封禁有关的配置

下面的配置选项可通过LocalSettings.php 进行设置,且这些选项可以在具体封禁操作时在封禁界面上进行操作。

  • $wgAutoblockExpiry - 控制IP地址被自动封禁的有效期(以秒为单位)。 默认值为86400秒(1天)
  • $wgBlockAllowsUTEdit - 控制被封禁用户是否能够修改他们自己的用户讨论页 在当前(1.26+版本)默认为true。 是否能够在进行封禁时设置被封禁用户是否能修改他们自己的用户讨论页,当本选项为true时,在封禁操作时Special:Block将会显示对应选项。
  • 用户权限 blockemail控制管理员是否能够设置禁止用户使用Special:EmailUser界面。
  • $wgBlockDisablesLogin - 设置被封禁用户是否被阻止登录 默认为false。
  • $wgCookieSetOnAutoblock - (1.29+) 决定当用户被自动封禁时是否设置cookie。 这样做意味着被封禁的用户,即便退出并移动到新的IP地址也仍然会被封禁。 默认为false。
  • hideuser用户权限控制管理员是否能够在封禁日志、被封禁用户以及用户列表中隐藏被封禁的用户。

默认封禁时间选项

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).

MediaWiki版本:
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).

界面消息

URL 参数

MediaWiki版本:
1.18

Special:Block接受一些URL参数来预填充HTML表单:

  • wpTarget - 用户名/IP地址
  • wpEditingRestriction - 封鎖限制內容(=sitewide或=partial)
  • wpPageRestrictions - 要封鎖的頁面(僅適用於部分封鎖;使用%0A分隔多個頁面;至多10頁)
  • wpNamespaceRestrictions - 要封鎖的命名空間的ID(僅適用於部分封鎖;使用%0A分隔多個命名空間;可封鎖的命名空間ID列表請參閱API:封禁
  • wpExpiry - 封禁期限
  • wpAutoBlock - 自动封禁设置 (=1 or =0)
  • wpHardBlock - 硬封禁设置 (=1 or =0)
  • wpCreateAccount - 阻止创建新用户 (=1 or =0)
  • wpReason - 在MediaWiki:Ipbreason-dropdown下拉选项中的封禁理由
  • wpReason-other - 预填写其他理由字段

钩子

SQL

主页面: Manual:Block table

All 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:

  • The data on who was blocked is stored in the block_target table, keyed by bl_target_id.
    • User blocksWHERE bt_user != 0
    • IP address blocksWHERE bt_user IS NULL AND bt_range_end = ''
    • IP address range blocksWHERE bt_range_end != ''
  • Who blocked them?
    • Auto blocksWHERE bl_parent_block_id IS NULL OR bl_parent_block_id = 0
    • Admin blocks – WHERE bl_by_actor = 1234 (replace number with user ID of the blocking admin)
  • What are they blocked from?
    • Partial blocksWHERE bl_by_actor = 0
    • Full blocks (not a partial block) – WHERE bl_by_actor = 1
  • How long are they blocked?
    • Blocks that are indefiniteWHERE bl_expiry = 'infinity'
    • Blocks that expireWHERE bl_expiry != 'infinity'


参见


代碼維護