Extension:CheckUser
![]() リリースの状態: 安定 |
|
---|---|
![]() |
|
実装 | 特別ページ , 利用者識別 , API , フック , データベース |
説明 | チェックユーザー機能を使用すると、チェックユーザー権限を持つ利用者は、指定された利用者名で使用されているIPと、特定のIPで使用されている利用者名を手動で照会する必要がなくなります。 |
作者 | Tim Starling, Aaron Schulz |
最新バージョン | 2.5 (continuous updates) |
互換性の方針 | MediaWikiとともにリリースされるスナップショット。 master には後方互換性がありません。 |
MediaWiki | 1.27+ |
PHP | 5.4+ |
データベースの変更 | はい |
テーブル | cu_changes cu_log_event cu_private_event cu_log |
ライセンス | GNU 一般公衆利用許諾書 2.0 以降 |
ダウンロード | |
|
|
|
|
Quarterly downloads | 278 (Ranked 38th) |
Public wikis using | 4,936 (Ranked 20th) |
translatewiki.net で翻訳を利用できる場合は、CheckUser 拡張機能の翻訳にご協力ください | |
問題点 | 未解決のタスク · バグを報告 |
- このページは拡張機能そのものに関するものです。 ウィキメディア財団のチェックユーザーの方針については、m:チェックユーザーの方針を参照してください。
CheckUser (チェックユーザー) は、利用者 (checkuser
権限がある) がデータベースに対して手作業で直接クエリを実行することなく、特定の利用者名で使用されている IP と特定の IP で使用されている利用者名を確認できるようにする拡張機能です。
この拡張機能は、WikimediaのすべてのWikiで実行されています。
ダウンロード
拡張機能は、Git から直接取得できる場合があります [?]:
- コードを参照
- 一部の拡張機能には安定版リリースのタグがあります。
- タグを参照
- タグを選択します
- 「スナップショット」をクリックします
- 各ブランチは過去の MediaWiki リリースと関連付けられています。 最新のアルファ バージョンを含む「master」ブランチもあります (MediaWiki のアルファ バージョンが必要な場合用)。
- ブランチを参照
- ブランチ名を選択します
- 「選択」をクリックします
スナップショットを展開して、MediaWiki インストレーション内の extensions/CheckUser/ ディレクトリに配置します。
git に馴染みがあり、かつサーバーにシェルでアクセスできる場合は、拡張機能を以下のようにして取得することもできます:
cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CheckUser.git
インストール
拡張機能は、GNU General Public License 2.0以降でリリースされています。 ソフトウェアは現状のまま提供されます。 ウィキメディアのウィキのニーズに合わせて、または重大な脆弱性が発見された場所が更新されます。
既存のwiki
基本
php maintenance/update.php
を実行せずに他の拡張機能をインストールした場合は、まずそれを実行してください。
- ダウンロードして、ファイルを
extensions/
フォルダー内のCheckUser
という名前のディレクトリ内に配置します。 - Gitでのインストールの場合のみ、PHPの依存関係をインストールするためComposerを実行します。 (合併症の可能性についてはタスク T173141を参照。)
- 以下のコードを
LocalSettings.php
の末尾に追加します:wfLoadExtension( 'CheckUser' );
- 更新スクリプトを実行します。このスクリプトは、この拡張機能が必要とするデータベーステーブルを自動的に作成します。
- Configure as required.
- 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。
So, after installation from Git change to the directory containing the extension e.g. "../extensions/CheckUser/" and run composer install --no-dev
, or when updating: composer update --no-dev
.
Alternatively as well as preferably add the line "extensions/CheckUser/composer.json"
to the "composer.local.json" file in the root directory of your wiki like e.g.
{
"extra": {
"merge-plugin": {
"include": [
"extensions/CheckUser/composer.json"
]
}
}
}
コマンドプロンプトへのアクセスなしでのインストール
多くのホスティングプロバイダはシェルへの直接アクセスを許可していませんが、cronジョブの作成を許可しています(例:cPanel Webインターフェイス経由)。
これらのホスティング プロバイダーでは、一時的な cron ジョブを php /path/to/install.php
を実行するために使用できます (当然、/path/to
は install.php
への完全なフルパスで置き換えるべきです)。
もしリモートサーバを利用しコマンドプロンプトの使用権限がない場合 (あるいはcronジョブによる解決策が自分向きではないと判断する場合)で、phpMyAdmin利用のアクセス権限はある場合は、上記の手順#2の代わりに以下の手順に従います。
- Choose and download the tables_generated.sql file from the CheckUser/schema folder. Navigate in to the folder of the DB you are running to find the files.
- phpMyAdminで、左側のmediawikiに使用しているデータベースをクリックします
- 次の画面で、上部にある「インポート」タブをクリックします。
- 「テキスト ファイルの場所」(Location of the text file) でファイルを 1 つ選択し、圧縮は「None」を選択してから一番下の「実行」ボタンをクリックします。
- ご利用の phpMyAdmin 画面にテキスト欄はあるのにテキスト ファイルの選択機能がない場合は、左欄の phpMyAdmin ロゴの下にある「SQL」ボタンを押して、新しく開いたウィンドウにある「import files」(ファイルをインポート) ボタンを押します。
- 2番目のファイルも同じ手順で処理します。
新しいウィキの場合
上記のステップ1に従い、その後、MediaWikiをインストールします。 MediaWikiインストーラでどの拡張期能を選ぶか尋ねられたとき、CheckUserをチェックすると自動でインストールを開始します。
Using Mediawiki-Docker
Follow the steps in MediaWiki-Docker/Extension/CheckUser to install this extension inside a MediaWiki Docker instance.
設定
このツールは「最近の更新」のデータを別のテーブルに移動し、新しい入力が追加されるたびに記入します。
$wgPutIPinRC
があらかじめ false
に設定してあると、検索対象のデータがない状態になり、拡張機能を設定したとたん、新規編集を取り込みます。
クエリの実行後、$wgRCMaxAge
を減少すると checkuser に影響を与えずに recentchanges を短縮できます。
checkuser データが処理する深さを $wgCUDMaxAge
で指定します (単位は秒)。
CheckUser 固有の設定 $wgCheckUserCIDRLimit によって、1 回の検証の最大範囲が決定します。
書式は $wgBlockCIDRLimit と同等です。
既定の制限は IPv6
検証で /32
、IPv4
検証で /16
です。
Special:Investigateを有効にするには、LocalSettings.phpに$wgCheckUserEnableSpecialInvestigate
からtrue
を設定します。
チェックユーザー権限の付与
チェックユーザー機能を利用する権限を付与するには、利用者権限管理の権限を有する利用者がSpecial:UserRightsにアクセスして記入欄に利用者名を入力、「利用者を確認」選択肢を選んでください。 この処理を行うと、当該の利用者のSpecial:SpecialPagesにSpecial:CheckUserとSpecial:CheckUserLogが表示されます。
システム管理者向けに利用者権限管理を有効にするには、LocalSettings.php
に以下を追加します:
$wgGroupPermissions['sysop']['checkuser'] = true;
$wgGroupPermissions['sysop']['checkuser-log'] = true;
$wgGroupPermissions['sysop']['investigate'] = true;
checkuser
権限の追加と削除に限定するには、代わりに以下を使用します:
$wgAddGroups['sysop'][] = 'checkuser';
$wgRemoveGroups['sysop'][] = 'checkuser';
設定
パラメーター | 既定値 | コメント |
---|---|---|
$wgCUDMaxAge
|
7776000
|
CUデータを保存する時間(秒単位) (既定値=3ヶ月) |
$wgCheckUserMaxBlocks
|
200
|
一括ブロックの制限 |
$wgCheckUserForceSummary
|
false
|
チェックユーザーがチェックするたび Special:CheckUser (特別:チェックユーザー) に理由を書かせるには、これに true を設定します。 (チェックユーザには要約欄に単に「チェックが必要」あるいは「気が向いたから」など書くことができ、ソフトウェアには判断できないため、あまり実効性はありません。) |
$wgCheckUserCIDRLimit
|
[ 'IPv4' => 16, 'IPv6' => 32 ]
|
CIDRの最短の制限で、個別の範囲チェックを検証できる制限。 |
$wgCUPublicKey
|
''
|
後で読み取りが必要になりそうな個人データを暗号化する公開キー。 以下のように公開鍵を生成します:
|
$wgCheckUserCAMultiLock
|
false
|
これを使うと「特別:チェックユーザー」の一括ブロックフォームにCentralAuthによる「Special:MultiLock」へのリンクを追加できます。 実行するにはウィキに CentralAuth 拡張機能のインストールが必要です。 これを有効にするには、対象とする個別の配列をグローバルなグループ(複数可)の名称から選び、個別の配列に中央ウィキのデータベース名をつけると設定できます。 例えば:
$wgCheckUserCAMultiLock = [
'centralDB' => 'metawiki',
'groups' => [ 'steward' ]
];
|
$wgCheckUserCAtoollink
|
false
|
77360f1cf1d2 以降。 これにより中央のウィキの「特別:CentralAuth」に「特別:チェックユーザー」の「Get users」出力結果へのリンクを追加します。 実行には CentralAuth 拡張機能をウィキにインストールする必要があります。 これを有効にするには、ホームwikiのデータベース名で設定します。 例:
$wgCheckUserCAtoollink = 'metawiki';
|
$wgCheckUserGBtoollink
|
false
|
77360f1cf1d2 以降。 これにより中央のウィキの「特別:GlobalBlock」に「特別:チェックユーザー」の「Get users」出力結果へのリンクを追加します。 実行には GlobalBlocking 拡張機能をウィキにインストールする必要があります。 有効にするには、$wgConf が設定済みならこれを中央のウィキのデーベース名のついた配列と、リンク先のローカル(CentralAuth がインストール済みならグローバル)のグループ(複数可)を指定します。 例:
$wgCheckUserGBtoollink = [
'centralDB' => 'metawiki',
'groups' => [ 'steward', 'staff' ]
];
|
$wgCheckUserEnableSpecialInvestigate
|
false
|
57dcfe46d2e4 以降。 すると Special:Investigate という更新版の Special:CheckUser が有効になり、1 回の究明で複数の利用者アカウントや IP アドレスを調査できます。 |
$wgCUPublicKey
|
''
|
Used with an associated private key to encrypt certain data that is not shown to CUs but stored in the cu_changes or cu_private_event table. Currently this is only the recipients of emails. Without a valid public key the data will not be stored. |
$wgCheckUserLogLogins
|
false
|
Whether CheckUser should log login attempts (both successful and not) in the checkUser table. |
$wgCheckUserLogSuccessfulBotLogins
|
true
|
Whether CheckUser should store successful login attempts to accounts with the bot user group if $wgCheckUserLogLogins is set to true . Only is used if $wgCheckUserLogLogins is true
|
$wgCheckUserMaximumRowCount
|
5000
|
The maximum number of results that can be returned by Special:CheckUser. Before MediaWiki 1.39, in the 'Get edits' and 'Get IPs' results having over 5000 results would return the results in a different format. From MediaWiki 1.39 this is the maximum number of results to show by page and more can be generated using the paging links |
$wgCheckUserInvestigateMaximumRowCount
|
25000
|
Similar to $wgCheckUserMaximumRowCount, but for Investigate |
Special:CheckUser の使用法
基本のインターフェイス
- Special:CheckUser を開きます。
- user 欄に利用者名 (
User:
接頭辞は除外), IP アドレスまたは CIDR 範囲を入力。- IP: IPv4 または IPv6 のアドレス.
- CIDR: CIDRプレフィックスを付加することで、IPアドレスの範囲をチェックできます。既定値は以下の通り:
- IPv4 では最大 /16 (65,536 アドレス)、
- gerrit:7352 以前は、IPv6 は最大 /64 (約 1.8446*1019 アドレス)、
- リビジョン 7352 以降は、IPv6 は最大 /48 (約 1.2089*1024 アドレスまたは 65536 個の /64 ブロック - 最新バージョンでは $wgCheckUserCIDRLimit で制御されています)
- phab:rECHU9d7c239bf88866eca577f3241194d440f94fa014 以降は、IPv6 は最大 /32 (65536 個の /48 ブロック)。 表記は範囲ブロックのヘルプ Help:範囲ブロック を参照してください。
- XFF: X-Forwarded-Forヘッダが提供するクライアントIPアドレスを知るには、
/xff
を追加 (例:127.0.0.1/xff
)。
- 取得したい情報を選択。
- IPアドレスを取得 - 登録利用者が使用した IP アドレス群を返します。
- 編集を取得 - returns all edits and logged actions made by users using an IP address or range specified in the target field, or if the target is a user all edits and logged actions by that user.
- 利用者名を取得 - 特定の IP または IP 範囲から編集を実行した利用者アカウント群を返します。
- 「理由:」欄には、秘密のデータにアクセスした理由を記入します。 状況を簡潔に要約するようにしてください (例: "ウィキ間スパム")。これは
checkuser-log
権限保有者にのみ表示されるログに記録されます。
- Screenshots
-
基本のチェックユーザーインターフェイス
-
利用者名のチェックの例
-
IPのチェックの例
-
Example Get edits check
-
ログの例
情報の戻り値
CheckUserのエントリから引き出される利用者サマリの結果 ("get users") は以下のとおりです。
- Example (talk | contribs | block) (Check) (20:11, 30 1月 2023 -- 20:12, 30 1月 2023) [5]
- 127.0.0.37 XFF: 127.0.0.1, 127.0.0.5
- Example user agent
これは特定の書式に大量の情報を盛り込むための書式で、リスト化や読み流しが非常に簡単にできるものの、提供された情報が何かを知らない限り、読むのは困難です。情報の配置は次のとおりです。 情報のレイアウトは以下のとおりです。
- 利用者名 (利用者リンク群) (特定のIPもしくはIP範囲から編集を行った期間) [特定のIPもしくはIP範囲から実行された編集の回数]
- 編集を行ったIPアドレス XFF: 提供されたXFF情報 (なりすましは可能)
編集に使用したIP/XFF組み合わせごとに、使用順に一覧にしてあります。
特定のIPもしくはIP範囲から編集した最近の利用者ごとのUA10件 (ブラウザ、OS、システム言語、バージョン) のリストが続きます。
XFF フォーマット
XFF (X-Forwarded-For) ヘッダにより、利用者のコンピュータ (1番目) が使用した一連のIPアドレス群から最終プロキシサーバまで表示されます。ウィキメディアの場合、最近のプロキシサーバとはウィキメディアのプロキシ群のどれかに該当します ([$url Wikimedia configuration file]内の$1に表示。) ウィキメディアの場合には最新のプラキシサーバは Wikimedia プロキシのうちのどれかです(Wikimedia 設定ファイル内の$wgCdnServersNoPurge に一覧あり)。
このサンプルの場合:
aaa.aaa.aaa.aaa XFF: 10.4.46.42, 127.0.0.1, aaa.aaa.aaa.aaa, 208.80.152.46
- 最初のアドレス 2 件 (
10.4.46.42
,127.0.0.1
) は発信元ネットワークに秘匿され、公開インターネットからの直接アクセスはできません。 - 3番目のアドレス (
aaa.aaa.aaa.aaa
) は編集者の「一般公開」であり、通常はブロードバンドまたはダイアルアップ ISP 、企業のゲートウェイ (ただしアノニマイザーまたはマルウェアに感染したサーバー) を示します。 - 最後のアドレス (
208.80.152.46
) はウィキメディアの squid サーバー (sq36.wikimedia.org
) の1つです。
MediaWiki 環境設定の $wgUsePrivateIPs 、$wgCdnServers 、$wgCdnServersNoPurge および IsTrustedProxy フックを使用している拡張機能 (Extension:TrustedXFF など) は、編集を行った実際の IP アドレスの選択方法を変更させます。
個人的ツールのリンク
「Special:CheckUser」から結果を入手したら、個人的な利用者ツールを追加するには以下のインターフェイス メッセージ 2 つが使えます:
- IPアドレスに対して
MediaWiki:checkuser-userlinks-ip
(m:MediaWiki:checkuser-userlinks-ip など) - 登録済み利用者に対して
MediaWiki:Checkuser-userlinks
(m:MediaWiki:Checkuser-userlinks など) MediaWiki:checkuser-toollinks
- for IPs in the 'Get IP Addresses' check type (for example m:MediaWiki:checkuser-toollinks)
Special:Investigate の使用法
基本的な使用法
- Special:Investigate を開きます。
- 「利用者名とIPアドレス」の欄には、最大10個のターゲットを入力します。ターゲットは、利用者名(
User:
接頭辞なし)、IPアドレス、またはCIDRレンジです。 - 理由欄には、上述のSpecial:CheckUserの説明にあるように、機密データにアクセスする理由を入力します。この情報は、調査権限を持つ利用者のみが閲覧可能なログに記録されます。
- Screenshots
-
入力フォーム
-
アカウント情報タブ
-
IPとユーザーエージェントのタブ
-
タイムラインタブ
高度な機能の使い方については、Help:Special Investigateを参照してください。
ツールリンクのカスタマイズ
Special:CheckUserと同様に、外部ツールへのリンクもカスタマイズ可能です。
リンクはcheckuser-investigate-compare-toollinks
メッセージで定義されています。
このメッセージを解析してリンクを見つけ、「IPs and user agent」タブのメニューに追加します。
API
CheckUser は API も提供します。
api.php?action=query&list=checkuser&curequest=userips&cutarget=Jimbo_Wales api.php?action=query&list=checkuser&curequest=edits&cutarget=127.0.0.1/16&xff=1&cureason=Some_check
api.php?action=query&list=checkuserlog&culuser=WikiSysop&cullimit=25 api.php?action=query&list=checkuserlog&cultarget=127.0.0.1&culfrom=20111015230000
この拡張機能は 1 つ以上のウィキメディアのプロジェクトで使用されています。 これはおそらく、この拡張機能が安定していて高いトラフィックのウェブサイトでも十分に動作することを意味します。 この拡張機能がインストールされている場所を確認するには、ウィキメディアの設定ファイル CommonSettings.php および InitialiseSettings.php 内で、この拡張機能の名前を探してください。 特定のウィキにインストールされている拡張機能の完全な一覧は、そのウィキの Special:Version ページにあります。 |
この拡張機能は以下のパッケージ/ウィキファームに含まれています: This is not an authoritative list. Some wiki farms/hosts may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |