Extension:CheckUser
![]() リリースの状態: 安定 |
|
---|---|
![]() |
|
実装 | 特別ページ , 利用者識別 |
説明 | チェックユーザー機能を使用すると、チェックユーザー権限を持つ利用者は、指定された利用者名で使用されているIPと、特定のIPで使用されている利用者名を手動で照会する必要がなくなります。 |
作者 | Tim Starling, Aaron Schulz |
最新バージョン | 2.5 (continuous updates) |
互換性ポリシー | MediaWikiとともにリリースされるスナップショット。 master には後方互換性がありません。 |
MediaWiki | 1.27+ |
PHP | 5.4+ |
データベースの変更 | はい |
テーブル | cu_changes cu_log |
ライセンス | GNU 一般公衆利用許諾書 2.0 以降 |
ダウンロード | |
|
|
|
|
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
という名前のディレクトリ内に配置します。 - 以下のコードをLocalSettings.phpの末尾に追加します:
wfLoadExtension( 'CheckUser' );
- MediaWiki 1.27 以前を稼働させている利用者へ:
- PuTTY などの telnet/ssh クライアント プログラムを使用して、
extensions/CheckUser
フォルダに移動してphp install.php
を実行します。 もし、install.php
が移動先のフォルダに見つからない場合、この拡張機能の古いバージョンに切り替える必要があるときがあります。git checkout REL1_26
のようなコマンドを利用してMediaWikiのバージョンにあわせます。 PHPバージョン5.xをインストールしていることを確認してください。そうしないと、このスクリプトは実行されません。install.php
が存在しない場合は、php maintenance/update.php
を再度実行してください。 結果は次のようになります。
...cu_changes table added. ...doing rc_id from 368856 to 368955.... ... ...cu_changes table added and populated. ...cu_log added ...logging disabled, skipping log import.
完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。
MediaWiki 1.24以前を稼働させている利用者へ:
上記の手順では、wfLoadExtension()
を使用してこの拡張機能をインストールする新しい方法を記載しています。
この拡張機能をこれらの過去のバージョン (MediaWiki 1.24以前) にインストールする必要がある場合は、wfLoadExtension( 'CheckUser' );
の代わりに以下を使用する必要があります:
require_once "$IP/extensions/CheckUser/CheckUser.php";
コマンドプロンプトへのアクセスなしでのインストール
多くのホスティングプロバイダはシェルへの直接アクセスを許可していませんが、cronジョブの作成を許可しています(例:cPanel Webインターフェイス経由)。
これらのホスティング プロバイダーでは、一時的な cron ジョブを php /path/to/install.php
を実行するために使用できます (当然、/path/to
は install.php
への完全なフルパスで置き換えるべきです)。
もしリモートサーバを利用しコマンドプロンプトの使用権限がない場合 (あるいはcronジョブによる解決策が自分向きではないと判断する場合)で、phpMyAdmin利用のアクセス権限はある場合は、上記の手順#2の代わりに以下の手順に従います。
- cu_changes.sqlとcu_log.sqlをダウンロードします
- phpMyAdminで、左側のmediawikiに使用しているデータベースをクリックします
- 次の画面で、上部にある「インポート」タブをクリックします。
- 「テキスト ファイルの場所」(Location of the text file) でファイルを 1 つ選択し、圧縮は「None」を選択してから一番下の「実行」ボタンをクリックします。
- ご利用の phpMyAdmin 画面にテキスト欄はあるのにテキスト ファイルの選択機能がない場合は、左欄の phpMyAdmin ロゴの下にある「SQL」ボタンを押して、新しく開いたウィンドウにある「import files」(ファイルをインポート) ボタンを押します。
- 2番目のファイルも同じ手順で処理します。
新しいウィキの場合
上記のステップ1に従い、その後、MediaWikiをインストールします。 MediaWikiインストーラでどの拡張期能を選ぶか尋ねられたとき、CheckUserをチェックすると自動でインストールを開始します。
設定
このツールは「最近の更新」のデータを別のcu_changes
テーブルに移動し、新しい入力が追加されるたびに記入します。
$wgPutIPinRC
があらかじめ false
に設定してあると、検索対象のデータがない状態になり、拡張機能を設定したとたん、新規編集を取り込みます。
クエリの実行後、$wgRCMaxAge
を減少すると checkuser に影響を与えずに recentchanges を短縮できます。
checkuser データが処理する深さを $wgCUDMaxAge
で指定します (単位は秒)。
MediaWiki 1.22 以降では CheckUser 固有の設定 $wgCheckUserCIDRLimit によって、1 回の検証の最大範囲が決定します。
書式は $wgBlockCIDRLimit と同等です。
さもなければ、(すべてのバージョンにおいて) 既定の制限は IPv6
検証で /32
、IPv4
検証で /16
になります。
Mozilla Firefox を使用するチェックユーザーは .js
ファイルにこの JS スクリプトを追加してください。
するとIP WHOISデータの取得が簡単になります。
applets.codebase.principle
サポート (about:config
) を有効にする必要があります。
(Firefox 3 でsigned.applets.codebase_principle_support
)
Special:Investigateを有効にするには、LocalSettings.phpに$wgCheckUserEnableSpecialInvestigate
からtrue
を設定します。
チェックユーザ権限の付与
チェックユーザー機能を利用する権限を付与するには、利用者権限管理の権限を有する利用者がSpecial:UserRightsにアクセスして記入欄に利用者名を入力、「利用者を確認」選択肢を選んでください。 この処理を行うと、当該の利用者のSpecial:SpecialPagesにチェックユーザのオプションが表示されます。
システム管理者向けに利用者権限管理を有効にするには、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 アドレスを調査できます。 |
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 ブロック)。 表記は範囲ブロックのヘルプ Range Blocks を参照してください。
- XFF: X-Forwarded-Forヘッダが提供するクライアントIPアドレスを知るには、
/xff
を追加 (例:127.0.0.1/xff
)。
- 取得したい情報を選択。
- Get IPs: により登録利用者が使うIPアドレス群を取得。
- Get edits from IP:によって特定のIPもしくはIP範囲からの利用者 (登録・秘匿の両方) による編集とログイン後の活動をすべて一覧にします。
- Get users: 特定のIPもしくはIP範囲から編集を実行した利用者アカウント群を返します。
- reason 欄には、秘密のデータにアクセスした理由を記入します。状況をなるべく簡潔(たとえば「クロスウィキスパム」)に要約してください。 これは、checkuser-log許可を持つユーザーのみ閲覧できるログに記録されます。 状況を簡潔に要約するようにしてください (例: "ウィキ間スパム")。これは
checkuser-log
権限保有者にのみ表示されるログに記録されます。
- Screenshots
-
基本のチェックユーザーインターフェイス
-
ユーザー名のチェックの例
-
IPのチェックの例
-
ログの例
情報の戻り値
CheckUserのエントリから引き出される利用者サマリの結果 ("get users") は以下のとおりです。
これは特定の書式に大量の情報を盛り込むための書式で、リスト化や読み流しが非常に簡単にできるものの、提供された情報が何かを知らない限り、読むのは困難です。情報の配置は次のとおりです。 情報のレイアウトは以下のとおりです。
- 利用者名 (利用者リンク群) (特定の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 など)
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 ページにあります。 |
![]() | この拡張機能は以下のパッケージ/ウィキファームに含まれています: |
- Stable extensions/ja
- Special page extensions/ja
- User identity extensions/ja
- GPL licensed extensions/ja
- Extensions in Wikimedia version control/ja
- Extensions which add rights/ja
- AuthManagerLoginAuthenticateAudit extensions/ja
- ContributionsToolLinks extensions/ja
- EmailUser extensions/ja
- GetPreferences extensions/ja
- LoadExtensionSchemaUpdates extensions/ja
- LocalUserCreated extensions/ja
- PerformRetroactiveAutoblock extensions/ja
- RecentChange save extensions/ja
- RenameUserSQL extensions/ja
- SpecialPage initList extensions/ja
- User::mailPasswordInternal extensions/ja
- UserMergeAccountFields extensions/ja
- All extensions/ja
- Extensions used on Wikimedia/ja
- Log extensions/ja
- API extensions/ja