Extension:Assert Edit/ja

From MediaWiki.org

Jump to: navigation, search
MediaWiki Extension
Assert Edit

Release status: stable

Implementation Page action
Hooks used AlternateEdit
Description より安全なボット編集のために編集アサーションを追加する。
Author(s) Steve Sanbeg
Version 2008-01-31 (2008-01-31)
MediaWiki 1.12a
Download SVN
Parameters AssertEdit::setAssert()
wikiを手助けするボットを手助けします。

私がボットを取り扱い始めたとき、たくさんの悪い編集を行うシンプルなオペレーションエラーが発生する潜在的な可能性に気がつきました; 例えば -familyオプションを入力することを忘れたため、 テストのwikiで実行させるはずが、間違ってwikipediaで実行させてしまうことがあります。またボットがログアウトして、ボットフラグ無しで、ブロックされるまで、匿名で編集を続ける可能性もありえます。

サーバーサイドのサポート無しでは、ボットがログインしているか判定することは簡単ではありません。不幸なことに、これまでそのようなサポートは利用できませんでした。

[edit] どのように動くのか

編集するとき、ボットはアサーションをURLに追加します。このアサーションが成功すると、拡張機能は何もせず、編集は通常通り続行します。アサートが失敗したら、拡張機能は通常の編集インターフェイスをシンプルなエラーメッセージに置き換えます。ボットはこのメッセージを検知し、エラーをオペレータに表示できます; しかし、それを探さなかったボットは明らかな方法で失敗します。これによって悪い編集が行われることを防止します。

これは&assert=assertionもしくは &nassert=assertionをURLの終わりに追加することでシンプルに行われます。assertassertionがポジティブであることを保証する一方で、nassertはそれがネガティブであることを保証します。 assertnassertが使われているか関係なく、カテゴライズされていないアサーションは常に失敗します。これによって誤って入力されたアサーションの発見を手早くできるようになります。加えて、ローカルボットが偶発的に他のサイトを襲わないように、サイトは独自のアサーションを追加できます。 ポジティブとネガティブの両方のアサーションが指定された場合、 両方とも成功しなければなりません。例えば、 ボットがログアウトしたもしくは既存のページを編集しようとするとaction=edit&assert=bot&nassert=existsは失敗します。

[edit] デフォルトのアサーション

キーワード 意味
user 匿名編集を防止するために、ボットがログインしているか検証する。
bot ボットがログインしてbotフラグを持っていることを検証する。
true 常にtrue; 拡張機能がインストールされている場合nassert=trueは失敗する。
false 常にfalse; 拡張機能がインストールされている場合assert=falseは失敗する。
exists ページが存在するか検証する。他の拡張機能から利用するのに便利。すなわち、adding nassert=existsをinput拡張機能を追加する。
test wikiがランダムなテスティングを許可しているか検証する。デフォルトはfalseだが、LocalSettings.phpでオーバーライドできる。

[edit] インストレーション

これをインストールするために、AssertEdit.phpファイルをダウンロードして、./extensions/AssertEdit/に設置し、

require_once( "$IP/extensions/AssertEdit/AssertEdit.php" );

のような一行をLocalSettings.phpに追加する。

新しいアサーションはAssertEdit::setAssert(key, value);,で追加できます。keyはアサーションの名前で、valueはその値です; trueはアサーションが成功、falseは失敗することを意味します。

valueは論理値(true or false)のどちらか、もしくは関数(PHP is_callable()関数で定義されたもの)で、論理値を返すものです。

valueが間違った型である、もしくはkeyがオーバーライドできないアサーションに対応する場合AssertEdit::setAssertは失敗します。

この拡張機能はWikimediaの一つもしくは複数のwikiで利用されています。このことは拡張機能が安定していて高いトラフィックのウェブサイトでも十分に動作することを意味します。MediaWiki.orgにインストールされている拡張機能の全リストはバージョン情報ページで見ることができます。

Personal tools