Manual:ブロックとブロック解除
特殊な権限を持つ一部の利用者(通常は管理者)は、IPアドレスや利用者アカウントに対して、特定の操作を行えないようにブロックしたり、そのブロックを解除したりできます。ブロックの対象となる操作には、編集、ファイルのアップロード、ページの移動などがあります。また、対象の利用者も同等の権限を有している場合には、ページの保護・保護解除、削除・復元といった操作も規制対象となります。
MediaWikiでは、抽象化レイヤーを通じてブロックを管理しており、拡張機能によって独自のブロック種別を追加することもできます。 ブロックの作成・更新・解除の仕組みや、それぞれの記録・一覧表示の方法は、ブロックの種別ごとに異なります。一方で、利用者のブロック状態の判定、制限される操作の管理、通知の表示といった処理は、共通の仕組みによって行われます。
標準的なブロック操作インターフェース
MediaWikiコアのブロックは、特別ページ「Special:Block」にあるフォームを通じて適用されます。 ブロックを適用するには、いくつかの手順があります:
- ブロックするIPアドレスまたは利用者名を指定します。 フォームの「IPアドレス、利用者名またはブロックID:」欄に、ブロックするIPアドレスまたは登録利用者のアカウント名を入力します。 存在しない利用者に対してもブロックは適用可能なため、利用者名が正しいことをこの時点で確認してください。 対象がIPアドレスの場合、複数のIPアドレスを含む「レンジ」をブロックすることもできます。(手順はHelp:範囲ブロック を参照してください。)
- ブロックの詳細を設定します。 ブロック対象に対して禁止する操作を選択します。 サイト全体ブロックは、ブロック対象がウィキ内のすべてのページを編集することを禁止します。一方、部分的ブロックは、指定されたページおよび/または指定された名前空間内のページのみを編集できないようにします。
- ブロックの期間を指定します。 「有効期限」のドロップダウンボックスからあらかじめ設定された期間を選択するか、「その他の時間」欄にGNU標準形式で任意の期間を入力してください。 期間に「無期限」を指定した場合、ブロックは自動解除されません。ただし、管理者が手動でブロックを解除することは可能です。
- ブロック理由を指定します (省略可能)。 この理由は、ブロック対象の利用者がページの編集を試みた際に表示されます。
ブロックを適用するには「ブロックを追加」をクリックします。 適用されたすべてのブロックはブロックログに記録され、現在有効なすべてのブロックは有効なブロック一覧に列挙されます。
Special:Blockにブロック対象のIPアドレスや利用者アカウントを手動で入力する方法に加えて、そのIPアドレスまたは利用者の利用者ページや会話ページを表示中に、サイドバーのツールボックスにある「ブロックを追加」リンクからブロックを設定することもできます。 最近の更新やページの履歴上では、投稿者のIPアドレスまたは利用者名の横にある「ブロック」リンクからもブロックを行うことができます。
ブロック設定
MediaWikiバージョン1.8から、より詳細なブロック設定が可能になりました。これらは、ブロックフォーム上で該当オプションにチェックをすることで適用されます。
- アカウント作成をブロック
- このオプションは、登録利用者またはIPアドレスに対するブロックの効果を変更します。 有効にすると、ブロックの有効期間中、対象のアカウントまたはIPアドレスからの新規アカウント作成を無効化します。 ただし、別のウィキでアカウントを作成し、その後ブロックが有効なウィキにアクセスすることで、このブロックを回避することが可能です。これは、グローバルアカウント管理において、利用者が初めてアクセスしたウィキ上でローカルアカウントが自動的に作成される仕組みになっているためです。 この回避手段は、アカウント作成を禁止するように設定されたグローバルブロックによって防ぐことができます。
- メール送信をブロック
- このオプションは、ブロックされた利用者がSpecial:EmailUserのインターフェースを使用できないようにします。 これは、ブロック中にウィキメールシステムが悪用されるのを防ぐために使用されます。 このブロック設定は、メールアドレスを認証済みの登録利用者にのみ影響します。
- 会話ページへのアクセスをブロック
- このオプションを有効にすると、ブロックされた利用者またはIPアドレスは自身の利用者会話ページを編集できなくなります。 この設定は、会話ページの不適切な使用が繰り返される場合や、生産的なやり取りが期待できない場合に使用されます。
- この利用者が最後に使用したIPアドレスおよびその後に使用を試みたIPアドレスを自動的にブロック(通称「自動ブロック」)
- このオプションは、登録利用者に対するブロックの効果を変更します。 有効にすると、そのアカウントが直近に使用したIPアドレスおよび、その後に編集を試みた際の接続元IPアドレスが自動的にブロックされます。
- このIPアドレスを使用しているログイン利用者にもブロックを適用(通称「ハードブロック」)
- このオプションは、IPアドレスに対するブロックの効果を変更します。 有効にすると、そのIPアドレスから編集している登録利用者にもブロックが適用されます。
- このオプションを無効にすると、ブロックの対象は匿名利用者のみに限定されます(通称「ソフトブロック」)。 ソフトブロックは登録利用者には影響しませんが、その IP アドレスから接続された仮アカウントおよびそれに基づいて設定される自動ブロックには影響します。
部分ブロック
MediaWiki 1.33以降、ブロック対象に対して、特定のページや特定の名前空間内のページのみの編集を禁止することが可能になりました。 ページが移動された場合、制限は自動的に新しいページに引き継がれます。 現在のところ、存在しない(いわゆる「赤リンク」)ページはブロック対象に指定できません。また、有効期限が異なる複数の重複ブロックを設定することはできません。
MediaWiki 1.33および1.34では、部分ブロックは既定で無効になっています。
有効にするには、$wgEnablePartialBlocks = true を設定してください。
MediaWiki 1.35以降では、部分ブロックは常に有効化されており、無効にすることはできません。 利用者またはサイトcommon.js/common.cssにJavaScriptやCSSを追加することで、部分ブロック関連のフォーム要素を非表示にすることは可能です。 ただし、これは部分ブロック機能そのものを無効化するものではなく、API経由での部分ブロックの設定は依然として可能です。
MediaWiki 1.37 以降、利用者はウィキ ページを編集できるまま、特定の操作の実行をブロックできるようになりました。 ブロックできる中核となる操作は以下のとおりです: ページの作成、ページの移動、ファイルのアップロード。
MediaWiki 1.37 から 1.44 の間、この機能は既定で無効化されており、$wgEnablePartialActionBlocks = true を設定することで有効化できました。
複数ブロック
MediaWiki 1.44 以降では、$wgEnableMultiBlocks を設定すると、管理者は同一の対象に対して複数の階層化されたブロックを追加できます。これは「マルチ ブロック」として知られる機能です。 詳細情報は Help:Manage blocks を参照してください。
ブロック解除
IP アドレスまたは登録済み利用者アカウントは、有効なブロック一覧からブロックを解除できます。 一覧からブロックを解除したい IP アドレスまたは登録済み利用者アカウントを見つけます ("ブロックされている利用者の検索" フィールドにアドレスや名前を入力すると見つけやすくなります)。ブロックの有効期限の右側に表示されている "ブロック解除" リンクをクリックしてください。
これにより確認ページに遷移します。 ブロック解除する理由を「理由:」欄に入力し (省略可能)、「このブロックを解除」をクリックしてブロックを解除します。 ブロック解除は、すべてブロック記録に記録されます。
範囲がブロックされている場合は、その範囲全体のブロック解除のみ有効であることにご注意ください。 ブロックされている範囲内の個別の IP アドレスを、ブロック解除しようと試みても効果はありません。
ブロックの効果
$wgBlockDisablesLogin が有効な場合、ブロックされた利用者はアカウントに完全にアクセスできなくなります。
これは主に、利用者が非アクティブになった後に閲覧権限を取り消す仕組みが必要な非公開ウィキ向けです。
ブロックされた利用者はページを読むことはできますが、ページの作成、編集、移動、ファイルのアップロードはできない場合があります。
部分的にブロックされた利用者は、ブロックで指定された特定のページや名前空間を編集できませんが、その他のページの作成、編集、移動、およびファイルのアップロードは可能です。
特定の他の利用者権限を持つ利用者でも、ブロックの内容によってはそれらの権限を使用できない場合があります。
たとえば、ページを削除/復元したり保護/保護解除する権限を持つ利用者でも、サイト単位でブロックされている場合はそれらの操作を行えません。
部分的にブロックされている場合は、ブロックされていないページについては、これらの操作を引き続き行えます。
ただし、利用者のブロックおよびブロック解除の権限を持つ利用者は、ブロックされている場合でもこれらの操作を行えます。自分のアカウントをブロック解除するには追加の権限 unblockself が必要です。既定ではすべての管理者が持っていますが、大規模なウィキでは潜在的なアカウント乗っ取りの影響を軽減するため、これを除去することが理にかなっている場合があります。
ブロックされた利用者がページを編集(またはページの移動、ファイルのアップロード)しようとすると、"Your account or IP address has been blocked" message が表示され、ブロックされていることが通知されます。
ブロックに関して autoblock オプションが有効になっている場合、ブロックされた利用者が編集 (またはページの移動、ファイルのアップロード) を試みると、その利用者が使用している IP アドレスもブロックされます。
Configuration settings related to blocking
以下の構成オプションは LocalSettings.php で設定でき、ブロック インターフェイスの特定の側面を有効または無効にするために使用できます。
$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. 現在 (1.26以降)、これの既定値は true です。 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.- The blockemail user right controls the ability for sysops to prevent users from using the Special:EmailUser interface.
$wgBlockDisablesLogin– controls if blocked users will be prevented from logging in. これの既定値は false です。$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. これは既定で有効です。- The hideuser user right controls the ability for sysops to prevent a blocked user from appearing in the block log, the active block list, and the user list.
$wgEnableMultiBlocks– (1.44+) allows sysops to create multiple layered blocks per target with the new manage blocks interface.
Default block duration options
To change the default options listed in the 有効期限 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).
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).
To specify a default duration for temporary accounts, edit the page MediaWiki:ipb-default-expiry-temporary-account and enter the value you want.
Interface messages
URL パラメーター
Special:Block accepts some URL parameters to prepopulate the HTML form:
wpTarget– 利用者名/IP アドレスwpEditingRestriction– 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:ブロック for a list of blockable namespace IDs)wpExpiry– 有効期限wpAutoBlock– 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
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 thatidalso be set
フック
BlockIp– occurs whenever the software receives a request to block an IP address or userBlockIpComplete– occurs after the request to block an IP or user has been processedUnblockUser,UnblockUserComplete– like BlockIp/BlockIpComplete, for unblockingAbortAutoblock– occurs when creating an autoblock, allows extensions to cancelPerformRetroactiveAutoblock– similar to AbortAutoblock but called when doing a retroactive autoblock (when performing a block, also autoblocking the user's last used IP)GetUserBlock– when the software checks for blocks, can be used to modify existing blocks or implement new types of blocksUserIsBlockedFrom– can be used by extensions which reimplement user talk pages in some way (e.g. Extension:LiquidThreads ) to honor the "allow the user to edit their own talk page" flagUserIsBlockedGlobally– similar to GetUserBlock, but for global blocks (which are for historical reasons handled separately)OtherBlockLogLink,OtherAutoblockLogLink– allows cross-linking Special:BlockList and Special:AutoblockList respectively with similar special pages provided by extensionsSpecialBlockModifyFormFields– allows modifying the core Special:Block form
SQL
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 blocks –
WHERE bt_user != 0 - IP address blocks –
WHERE bt_user IS NULL AND bt_range_end = '' - IP address range blocks –
WHERE bt_range_end != ''
- User blocks –
- Who blocked them?
- Auto blocks –
WHERE 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)
- Auto blocks –
- What are they blocked from?
- Partial blocks –
WHERE bl_by_actor = 0 - Full blocks (not a partial block) –
WHERE bl_by_actor = 1
- Partial blocks –
- How long are they blocked?
- Blocks that are indefinite –
WHERE bl_expiry = 'infinity' - Blocks that expire –
WHERE bl_expiry != 'infinity'
- Blocks that are indefinite –
関連項目
- Help:利用者のブロック
- Manual:Block abstraction layer for writing blocking extensions or other code that interacts with blocks
- Extensions implementing new block types:
- Extension:GlobalBlocking – for allowing multi-wiki blocking of IP addresses and ranges
- Extension:TorBlock – automatically block Tor exit nodes
- Extension:RegexBlock – allow blocking by username patterns
コードのスチュワード権限
- 信頼と安全製品 が保守しています。
- 問題点追跡: Phabricator MediaWiki-Blocks (問題点を報告)