Rozšíření:ConfirmAccount
ConfirmAccount Stav rozšíření: stabilní |
|
---|---|
Implementace | Identita uživatele , Databáze , Speciální stránka |
Popis | Vyžaduje předložení a schválení účtů. |
Autoři | Aaron Schulzdiskuse |
Zásady kompatibility | Vydání snímků současně s MediaWiki. Hlavní vývojová větev není zpětně kompatibilní. |
MediaWiki | >= 1.37.0 |
Změny v databázi | Ano |
Tabulky | account_requests account_credentials |
Licence | GNU General Public License 2.0 nebo novější |
Stáhnout | README |
|
|
|
|
Čtvrtletní stahování | 190 (Ranked 31st) |
Veřejné wiki používající rozšíření | 953 (Ranked 279th) |
Přeložte rozšíření ConfirmAccount, používá-li lokalizaci z translatewiki.net | |
Problémy | Otevřené úkoly · Nahlásit chybu |
Rozšíření ConfirmAccount vypíná přímé zakládání nových účtů a vyžaduje, aby byl každý nový účet nejprve schválen byrokratem. Pokud chcete, aby Administrátoři /byrokraté měli i možnost založit nový účet bez žádosti, podívejte se na stránku Uživatelská práva .
Rozšíření ConfirmEdit lze použít (ve spojení s rozšířením ConfirmAccount extension) za účelem použití captchas k zastavení záplavy požadavků (od verze 1.39).
Instalace
- Stáhněte soubor/y a vložte je do adresáře pojmenovaného
ConfirmAccount
ve vaší složceextensions/
.
Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/ConfirmAccount - Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'ConfirmAccount' ); $wgGroupPermissions['*']['createaccount'] = false; // POVINNÉ k vynucení žádostí o účet prostřednictvím tohoto rozšíření $wgGroupPermissions['bureaucrat']['createaccount'] = true; // volitelné pro povolení vytvoření účtu touto důvěryhodnou skupinou uživatelů
- Spusťte aktualizační skript, který automaticky provede všechny nezbytné databázové změny, jaké rozšíření vyžaduje.
- Dále konfigurujte podle potřeby.
- Ujistěte se, že wiki má oprávnění k zápisu na
$wgUploadDirectory
. - Prostudujte si také část věnovanou známým problémům, protože by mohly mít vliv na vaši wiki.
- Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
Konfigurace
Volitelné
K dispozici je několik konfiguračních proměnných, které lze nakonfigurovat v souboru LocalSettings.php , za řádkem wfLoadExtension('ConfirmAccount');
Viz část "config"
v souboru extension.json , kde jsou všechny proměnné, které lze překonfigurovat.
$wgMakeUserPageFromBio = false;
$wgConfirmAccountRequestFormItems['Biography']['enabled'] = false;
$wgConfirmAccountRequestFormItems['Biography']['minWords'] = 10;
$wgGroupPermissions['sysop']['createaccount'] = false;
Například:
$wgWhitelistRead = [
'Special:RequestAccount',
'Main Page'
];
Pro další kategorizaci uživatelů na základě jejich zájmů můžete nastavit MediaWiki:Requestaccount-areas. Mělo by to být ve formátu jako:
- * Téma|Stránka wiki s tématem|text, který se přidá do životopisu všech zainteresovaných uživatelů |text, který se přidá do životopisu všech zainteresovaných uživatelů ve skupině0|text, který se připojí ke skupině bios všech zainteresovaných uživatelů1|text, který se připojí ke všem zainteresovaným bios uživatelům ve skupině2|...
Tato čísla skupin vycházejí z $wgAccountRequestTypes
.
Pokud je tedy 0 index pro 'autory', pak 'autoři' zajímající se o téma budou mít text skupiny0 připojený k jejich biografii.
To může být užitečné, řekněme, pokud uživatelé mohou být schváleni jako autoři nebo editoři.
Autoři mohou mít "category:X authors", kde X je téma, například "matematika", a editoři mohou mít "category:x editors".
Můžete mít tolik skupin, kolik chcete, ale potřebujete alespoň jednu.
Minimální syntaxe
Aby se zabránilo spamu, namísto captchas, blacklistů a filtrů, ručně moderujte registrace nových uživatelů pomocí jednoduššího Request account (požádat o účet). Vyžaduje pouze uživatelské jméno, emailovou adresu a krátkou zprávu. Přidejte následující k LocalSettings.php za řádek 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 ],
];
Volitelně upravte systémovou zprávu/zprávy: requestaccount-text, requestaccount-notes, requestaccount-ext-text, requestaccount-acc-text.
Použití
- Jako byrokrat (nebo jiný uživatel s oprávněním confirmaccount) přejděte na
Special:ConfirmAccounts
. - Klikněte na Review (recenze).
- Uvidíte celý formulář s údaji uživatelů. Pečlivě zkontrolujte formulář a pokračujte k vytvoření účtu nebo zamítnutí žádosti.
- Pokud se rozhodnete vytvořit účet, životopis uživatele se stane jeho uživatelskou stránkou a uživatelská stránka bude automaticky vytvořena s výchozím shrnutím Vytváření uživatelské stránky s biografií nového uživatele.
- Po vytvoření účtu lze na data zadaná uživatelem v době požadavku odkazovat zadáním uživatelského jména na
Special:UserCredentials
LocalSettings.php
:
$wgConfirmAccountContact = 'Bureaucrat@domain.com';
Odeslání e-mailu s upozorněním více uživatelům
Toto rozšíření umožňuje odesílat e-maily více schvalovatelům k potvrzení účtu, pokud tito uživatelé mají oprávnění confirmaccount-notify
.
Toto je doplněk/alternativa k nastavení $wgConfirmAccountContact
.
Toho lze dosáhnout (například pro byrokraty) poskytnutím tohoto oprávnění přidáním následujícího do souboru LocalSettings.php :
$wgGroupPermissions['bureaucrat']['confirmaccount-notify'] = true;
Vylepšení
Frekvence omezování
Aby bylo možné bojovat proti robotickým žádostem, výchozí nastavení brání odmítnutým emailovým účtům v opětovném vyžádání účtu po náhodnou dobu po zamítnutí. Pokud chcete, aby odmítnutými emaily bylo možné znovu žádat o účty ihned po zamítnutí nebo po pevně stanovené době čekání (dny, týdny, měsíce nebo dokonce roky po odmítnutí), použijte následující 2 kroky:
1) V souboru LocalSettings.php
po požadované deklaraci nastavte Rejected-Age na 0 (pro okamžité vypršení při odmítnutí) nebo na vámi požadovanou dobu čekání v sekundách:
wfLoadExtension( 'ConfirmAccount' );
$wgRejectedAccountMaxAge = 0;
2) Přidejte jeden řádek do souboru /frontend/specialpages/actions/RequestAccount_body.php
na úplný konec funkce showForm()
, která zobrazuje formulář požadavku, abyste vynutili omezení přímo před každým novým požadavkem:
původní kód:
$out->addWikiMsg( 'requestaccount-footer' );
}
nový kód:
$out->addWikiMsg( 'requestaccount-footer' );
# PRUNE
ConfirmAccount::runAutoMaintenance();
}
Odkaz "Request account" (požádat o účet)
Pokud byste chtěli přidat přihlašovací odkaz "Vyžádat účet", nejnovější verze rozšíření jej již přidala za vás. Pokud to však nefunguje, budete muset aktualizovat na nejnovější verzi své větve ConfirmAccount z Gitu. Pokud například používáte MediaWiki 1.35, měli byste zůstat ve větvi REL1_35, ale stáhnout si z Gitu a načíst nejnovější změny.
Známé problémy
- Pokud je nastaveno
$wgEmailConfirmToEdit = true;
, uživatelé budou muset svůj e-mail dvakrát potvrdit, než budou moci upravovat. Další informace naleznete na úkol T182337. - Nenastavujte/nevytvářejte MediaWiki:Requestaccount-areas/xx, kde xx je kód jazyka, první část každého řádku se používá jako klíč k uložení do DB pro položky, které žadatelé o účty kontrolují.
- Starší verze MediaWiki nemusí v přihlašovacím formuláři uživatele zobrazovat odkaz na Special:RequestAccount. Chcete-li to napravit, můžete upravit MediaWiki:loginprompt.
- Pokud váš e-mailový klient ztratí data pošty před jejím odesláním, uživatelé nedostanou svá hesla, ale mohou mít účet. Protože nikdo nezná hesla, možná budete chtít použít Special:ResetPassword a poslat jim nová.
- Pokud stránku potvrzení účtů zobrazí pouze několik lidí, náhodně spouštěné omezování starých požadavků se nespustí často, takže staré zamítnuté požadavky mohou přetrvávat. Tím se zabrání tomu, aby e-mailové adresy znovu požadovaly účty na neznámé časové období. Toto chování můžete potlačit a povolit okamžité opětovné požadavky vynucením omezování těsně před odesláním jakéhokoli nového požadavku. Pokyny najdete zde.
- Extension is not working anymore with mediawiki 1.43; see here
- Integrace s rozšířením LDAP Authentication
- [vyřešeno] Captcha: před verzí 1.39 se captcha neověřovala (viz úkol T168783), nyní existuje speciální záplata pro hCaptcha (viz Topic:W449yd63slfossl2#flow-post-w457lxnfmrb51gct).
Řešení problémů
- Emaily s upozorněním se neodesílají
Pokud testujete, mějte na paměti, že uživatel musí nejprve potvrdit svou emailovou adresu prostřednictvím odkazu, který mu byl zaslán emailem, a poté bude email odeslán byrokratovi k potvrzení účtu.
Ujistěte se, že nastavení související s rozšířením jsou zavedena po řádku require_once
.
Dříve ne, jinak rozšíření tato nastavení nevidí a tiše selžou. např.
wfLoadExtension( 'ConfirmAccount' );
$wgConfirmAccountContact = "admin@example.com";
Také si uvědomte, že při použitím nastavení confirmaccount-notify
nebude každý uživatel ve skupině (např. sysop) dostávat oznámení, pokud jejich Nastavení e-mailu v Special:Preferences nepovolí "Dovolit ostatním uživatelům posílat mi e-maily" a že potvrdí svou e-mailovou adresu ve stejném formuláři.
Viz též
- Extension:InviteSignup, pro administrátorem iniciované (hromadné) vytvoření účtu
- Rozšíření TwnMainPage, nabízí "sandbox", kde si uživatel může vytvořit neprivilegovaný účet, navrhnout nějaké úpravy a požádat o schválení
- Extension:Semantic Signup
- Extension:AcceptTermsOfUse - Allows for enforcing Terms of Use for self-service account creation.
Toto rozšíření je zahrnuto v následujících wiki farmách/hostitelích a/nebo balíčcích: Toto není autoritativní seznam. Některé wiki farmy/hostitelé a/nebo balíčky mohou toto rozšíření obsahovat, i když zde nejsou uvedeny. Pro potvrzení se vždy obraťte na své wiki farmy/hostitele nebo balíček. |
- Stable extensions/cs
- User identity extensions/cs
- Database extensions/cs
- Special page extensions/cs
- GPL licensed extensions/cs
- Extensions in Wikimedia version control/cs
- AdminLinks extensions/cs
- AuthChangeFormFields extensions/cs
- BeforePageDisplay extensions/cs
- LoadExtensionSchemaUpdates extensions/cs
- SkinTemplateNavigation::Universal extensions/cs
- SpecialPageBeforeExecute extensions/cs
- UserCreateForm extensions/cs
- UserLoginForm extensions/cs
- All extensions/cs
- Extensions included in BlueSpice/cs
- Extensions included in Canasta/cs
- Extensions included in MyWikis/cs