EnforceStrongPassword

Материал из Викиреальностя
Перейти к: навигация, поиск
Crystal Clear action run.svg
EnforceStrongPassword
Расширение MediaWiki


Статус:
бета
Фунциональность:
Идентификация пользователей
Описание:
Обеспечивает сильный пароль.
Автор(ы):
Ger Apeldoorn
Последняя версия:
0.2 (7 марта 2007)


Лицензия:
Нет лицензии
Загрузка:
см. ниже



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 относится к теме «MediaWiki»   ±