EnforceStrongPassword
EnforceStrongPassword — устаревшее расширение MediaWiki (функциональность расширения интегрирована в движок).
Что делает это расширение ?[править | править код]
Это расширение устанавливает дополнительные требования для паролей. (1 число, 1 заглавная, 1 «обычная» буква и т. д.)
Использование[править | править код]
Примечание: все пароли проверяются, также те, которые используют участники для входа в систему. Если уже есть участники, которые установили не соответствующий требованиям пароль, они не смогут представиться системе.
Вы можете изменить системное сообщение MediaWiki:Passwordtooshort для отражения дополнительных требований к паролям.
Установка[править | править код]
Hook должен быть добавлен в User->isValidPassword (Изменение было добавлено в багзиллу и применено для MW 1.10 в rev:20195) Измените includes/User.php->isValidPassword на:
static function isValidPassword( $password ) {
global $wgMinimalPasswordLength;
//Reset the result variable
$result = null;
// Call hook. If hook REPLACES the rest of the code, (wfRunHooks call returns false)
// just return the result and be done with it.
if( !wfRunHooks( 'isValidPassword', array( $password, &$result ) ) ) return $result;
// If hook does not replace the rest of the code, but the hook sets the result
// as false, return false.
if ($result === false) return false;
// If we get to this point, perform the default check.
return strlen( $password ) >= $wgMinimalPasswordLength
Изменения в LocalSettings.php[править | править код]
Добавить это:
$wgMinimalPasswordLength = 6;
require_once("extensions/StrongPassword.php");
$wgHooks['isValidPassword'] [] = 'isStrongPassword';
Код[править | править код]
Сохраните это в: extensions/StrongPassword.php
<?php
$wgExtensionCredits['other'][] = array(
'name' => 'EnforceStrongPassword',
'version' => '0.2',
'author' => 'Ger Apeldoorn',
'url' => 'http://www.mediawiki.org/wiki/Extension:EnforceStrongPassword',
'description' => 'Enforces a strong password.',
);
function isStrongPassword($password, &$return) {
//Remember to set this variable in LocalSettings.php
global $wgMinimalPasswordLength;
if(
ctype_alnum($password) // numbers & digits only
&& strlen($password)>=$wgMinimalPasswordLength // at least xx chars
&& strlen($password)<17 // at most 16 chars
&& preg_match('`[A-Z]`',$password) // at least one upper case
&& preg_match('`[a-z]`',$password) // at least one lower case
&& preg_match('`[0-9]`',$password) // at least one digit
){
// valid
$return = true;
} else {
// not valid
$return = false;
}
// This hook REPLACES the original code.
return false;
}
EnforceStrongPassword относится к темам: |