Extension:ConfirmAccount

This page is a translated version of the page Extension:ConfirmAccount and the translation is 42% complete.
MediaWiki 拡張機能マニュアル
OOjs UI icon advanced-invert.svg
ConfirmAccount
リリースの状態: 安定
ConfirmAccounts.png
実装 利用者識別 , データベース , 特別ページ
説明 アカウントの提出と承認が必要です。
作者 Aaron Schulzトーク
互換性ポリシー MediaWikiとともにリリースされるスナップショット。 master には後方互換性がありません。
MediaWiki >= 1.37.0
データベースの変更 はい
テーブル account_requests
account_credentials
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
README
  • $wgAutoWelcomeNewUsers
  • $wgAccountRequestTypes
  • $wgConfirmAccountNotice
  • $wgConfirmAccountCaptchas
  • $wgConfirmAdminEmailExtraFields
  • $wgConfirmAccountRequestFormItems
  • $wgConfirmAccountContact
  • $wgAccountRequestExts
  • $wgAccountRequestThrottle
  • $wgConfirmAccountFSRepos
  • $wgRejectedAccountMaxAge
  • $wgConfirmAccountSaveInfo
  • $wgConfirmAccountSortkey
  • $wgAutoUserBioText
  • $wgAccountRequestWhileBlocked
  • $wgConfirmAccountRejectAge
  • $wgMakeUserPageFromBio
  • confirmaccount
  • confirmaccount-notify
  • requestips
  • lookupcredentials
translatewiki.net で翻訳を利用できる場合は、ConfirmAccount 拡張機能の翻訳にご協力ください

使用状況とバージョン マトリクスを確認してください。

問題点 未解決のタスク · バグを報告

ConfirmAccount は、アカウント作成を直接無効にし、新しいアカウントはビューロクラットの承認を必要になります。直接のアカウント作成は 利用者権限 を設定することでまだ有効にできます (管理者 /ビューロクラット が直接作成できるようにしたい場合)。

フラッドリクエストを止めるためやチャプタを使うために、ConfirmEdit 拡張機能を(ConfirmAccountと一緒に) 使うことができます。

インストール

  • ダウンロードして、ファイルをextensions/フォルダー内のConfirmAccountという名前のディレクトリ内に配置します。
  • 以下のコードをLocalSettings.phpの末尾に追加します:
    wfLoadExtension( 'ConfirmAccount' );
    
  • 更新スクリプトを実行します。このスクリプトは、この拡張機能が必要とするデータベーステーブルを自動的に作成します。
  • Wikiに$wgUploadDirectory の書き込み権限があることを確認する。
  • 必要に応じて設定します。
  • MediaWiki 1.35+ では、wfLoadExtension()を使用した場合の権限に問題があるようです: createaccountの権限は 全ての利用者 グループから取り消されないかもしれません。 この問題が解決されるまで、
    $wgGroupPermissions['*']['createaccount'] = false;
    
    を使用してアカウント作成ができないようにします。
もしビューロクラットがリクエストを受けることを希望する場合、はっきりと
$wgGroupPermissions['bureaucrat']['createaccount'] = true;
の権限をセットしてください。
  • また、既知の問題に注意してください。これらはあなたのwikiに影響を与えるかもしれません。
  •   完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

MediaWiki 1.34以前を稼働させている利用者へ:

上記の手順では、wfLoadExtension()を使用してこの拡張機能をインストールする新しい方法を記載しています。 この拡張機能をこれらの過去のバージョン (MediaWiki 1.34以前) にインストールする必要がある場合は、wfLoadExtension( 'ConfirmAccount' );の代わりに以下を使用する必要があります:

require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";

設定

省略可能

LocalSettings.php (ConfirmAccount.php を含む require_once 行の後) には、調整可能な設定変数がいくつかあります。 設定可能なすべての変数については、ConfirmAccount.config.phpを参照してください。 (既定値は ConfirmAccount.config.php にありますが、そのファイルは編集すべきではありません)。

For example, to set the person's bio as their userpage, set $wgMakeUserPageFromBio = true.

既定では、新規利用者が申請フォームを送信する際に必要な 6 単語の経歴です。 この要件を調整するには、LocalSettings.phpの$wgConfirmAccountRequestFormItems['Biography']['minWords']を編集します。例: 10語の場合:
$wgConfirmAccountRequestFormItems['Biography']['minWords'] = 10;

ログを無効にするには、$wgConfirmAccountRequestFormItems ['Biography']['enabled']falseに設定します。

$wgConfirmAccountRequestFormItems['Biography']['enabled'] = false;
管理者は引き続きアカウントを直接作成できます。これを無効にするには、LocalSettings.phpに追加します
$wgGroupPermissions['sysop']['createaccount'] = false;
ログイン済み利用者のみがページの閲覧を許可されている場合は、リクエスト アカウント ページを $wgWhitelistRead に追加してください。例えば:
$wgWhitelistRead = [
    'Special:RequestAccount',
    'Main Page'
];
他の言語では、「メインページ」と「Special:RequestAccount」をローカル名に置き換える必要があります。たとえば、ドイツ語版ウィキでは「Hauptseite」と「Spezial:Benutzerkonto_beantragen」です。

To further categorize users based on their interests, you can set up MediaWiki:Requestaccount-areas. これは、次のような形式である必要があります。

*トピック|トピックウィキページ|関心のあるすべての利用者の経歴に追加するテキスト |グループ0内のすべての関心のある利用者の経歴に追加するテキスト|グループ1内のすべての関心のある利用者の経歴に追加するテキスト|グループ2内のすべての関心のある利用者の経歴に追加するテキスト|...

これらのグループナンバーは$wgAccountRequestTypesを元にしています。 So if 0 is the index for 'authors', then 'authors' interested in a topic will have the group0 text appended to their biography. This can be useful, say, if users can be approved as either authors or editors. Authors can have "category:X authors" where X is a topic, like "mathematics", and editors can have "category:x editors". You can have as many groups as you want, but you need at least one.

最低限

To attempt to prevent spam, instead of captchas, blacklists and filters; manually moderate new user registrations, with a simpler Request account. Requesting only a username, email address and brief message. Add the following to LocalSettings.php after the line require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";.

 $wgMakeUserPageFromBio = false;
 $wgAutoWelcomeNewUsers = false;
 $wgConfirmAccountRequestFormItems = [
 	'UserName'        => [ 'enabled' => true ],
 	'RealName'        => [ 'enabled' => false ],
 	'Biography'       => [ 'enabled' => false, 'minWords' => 50 ],
 	'AreasOfInterest' => [ 'enabled' => false ],
 	'CV'              => [ 'enabled' => false ],
 	'Notes'           => [ 'enabled' => true ],
 	'Links'           => [ 'enabled' => false ],
 	'TermsOfService'  => [ 'enabled' => false ],
 ];

Optionally tweak system messages: requestaccount-text, requestaccount-notes, requestaccount-ext-text, requestaccount-acc-text.

使用法

 
Interaction diagram of a successful account creation process.
 
Confirming account requests on Special:ConfirmAccounts (beta form)
  1. As a bureaucrat (or other user with the confirmaccount permission), browse to Special:ConfirmAccounts
  1. Click Review
  1. You will see the whole form with the users' data.

Carefully review the form, and proceed to creating the account or rejecting the request.

  1. If you chose to create the account, the user's biography will become their userpage and the userpage will be automatically created with the default summary of Creating user page with biography of new user.
  1. After an account is created, the data input by the user at the time of the request can be referred to by typing the username at Special:UserCredentials
In order for bureaucrats to get notified of pending requests you need to set an email / mailing list in LocalSettings.php:
$wgConfirmAccountContact = 'Bureaucrat@domain.com';

Sending notification email to multiple users

This extension allows sending emails to multiple approvers to confirm the account if these users have the confirmaccount-notify permission. This is in addition/alternative to the $wgConfirmAccountContact setting.

This can be achieved (for instance for bureaucrats) by providing them this permission by adding the following to the "LocalSettings.php" file:

$wgGroupPermissions['bureaucrat']['confirmaccount-notify'] = true;

Enhancements

Pruning Frequency

To combat robot-requests, default settings prevent rejected email accounts from re-requesting an account for a random period of time after rejection. If you want rejected emails to be able to re-request accounts immediately after rejection, or after a fixed wait-time (days, weeks, months, or even years after rejection), apply the following 2 steps:

1) In the "LocalSettings.php" file, after required declaration, set Rejected-Age to 0 (for immediate expiration on rejection), or to your desired wait-time, in seconds:

require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";
$wgRejectedAccountMaxAge = 0;

2) Add one line to the file /frontend/specialpages/actions/RequestAccount_body.php at the very end of the function showForm() which shows the Request form, to force pruning right before any new request:

original code:

$out->addWikiMsg( 'requestaccount-footer' );
}

new code:

$out->addWikiMsg( 'requestaccount-footer' );		
# PRUNE
ConfirmAccount::runAutoMaintenance();
}

"Request account" Link

If you would like to add a "Request account" login link, the latest version of the extension already adds it for you. However, if that doesn't work, you will need to update to the latest version of your branch of ConfirmAccount from Git. For instance, if you are using MediaWiki 1.35, you should stay on the REL1_35 branch but pull from Git to retrieve the latest changes.

既知の問題点

This extension currently (2021年7月) does not validate ConfirmEdit captcha responses, allowing account requests to proceed even if no response or an invalid response was provided by the user. This issue is tracked with タスク T168783 and a patch is available here for hCaptcha only.
  • Do not set $wgGroupPermissions['*']['createaccount'] to true in LocalSettings, it will override the request login and allow users to sign up without confirmation.
  • Do not set/create MediaWiki:Requestaccount-areas/xx where xx is a language code, the first part of each line is used as the keys to store in the DB for the items account requesters check.
  • Older versions of MediaWiki may not show the link to Special:RequestAccount at the user login form.

You can edit MediaWiki:loginprompt to remedy this.

  • If your email client loses its mail data before sending it out, users will not get their passwords but may have an account.

Since no one knows the passwords, you may want to use Special:ResetPassword to send them new ones.

  • If only a few people view the confirm accounts page, the randomly triggered pruning of old requests will not trigger often, so old rejected requests may persist.

This prevents email addresses from re-requesting accounts for an unknown time period. You can override this behavior, and allow immediate re-requests, by forcing prune right before any new Request is submitted. Instructions here.

トラブルシューティング

Notification emails do not get sent

If you are testing, note that a user must first confirm their email address through the link emailed to them, and then the email will be sent to the bureaucrat to confirm the account.

Make sure that setting(s) related to extension are introduced after the require_once line. Not before, otherwise extension doesn't see these settings and they fail silently. e.g.

require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";
$wgConfirmAccountContact = "admin@example.com";

Also note that when using the 'confirmaccount-notify' setting, that each user in the group (e.g. sysop) will not receive notices unless their メールの設定 in Special:Preferences allow "他の利用者からのメールを受け取る" and that they have confirmed their email address within the same form.

関連項目

Extension:InviteSignup, 管理者が開始する(大量の)アカウント作成用