MediaWiki  master
PasswordPolicyChecks Class Reference

Functions to check passwords against a policy requirement. More...

Static Public Member Functions

static checkMaximalPasswordLength ( $policyVal, User $user, $password)
 Check password is shorter than maximum, fatal. More...
 
static checkMinimalPasswordLength ( $policyVal, User $user, $password)
 Check password is longer than minimum, not fatal. More...
 
static checkMinimumPasswordLengthToLogin ( $policyVal, User $user, $password)
 Check password is longer than minimum, fatal. More...
 
static checkPasswordCannotBeSubstringInUsername ( $policyVal, User $user, $password)
 Check if password is a (case-insensitive) substring within the username. More...
 
static checkPasswordCannotMatchDefaults ( $policyVal, User $user, $password)
 Check if username and password are on a list of past MediaWiki default passwords. More...
 
static checkPasswordCannotMatchUsername ( $policyVal, User $user, $password)
 Check if username and password are a (case-insensitive) match. More...
 
static checkPasswordNotInCommonList ( $policyVal, User $user, $password)
 Ensure the password isn't in the list of common passwords by the wikimedia/common-passwords library, which contains (as of 0.2.0) the 100,000 top passwords from SecLists (as a Bloom filter, with an 0.000001 false positive ratio). More...
 

Detailed Description

Functions to check passwords against a policy requirement.

$policyVal is the value configured in $wgPasswordPolicy. If the return status is fatal, the user won't be allowed to login. If the status is not good but not fatal, the user will not be allowed to set the given password (on registration or password change), but can still log in after bypassing a warning.

Since
1.26
See also
$wgPasswordPolicy

Definition at line 37 of file PasswordPolicyChecks.php.

Member Function Documentation

◆ checkMaximalPasswordLength()

static PasswordPolicyChecks::checkMaximalPasswordLength (   $policyVal,
User  $user,
  $password 
)
static

Check password is shorter than maximum, fatal.

Intended for preventing DoS attacks when using a more expensive password hash like PBKDF2.

Parameters
int$policyValmaximum length
User$user
string$password
Returns
Status fatal if $password is shorter than $policyVal

Definition at line 79 of file PasswordPolicyChecks.php.

References StatusValue\newGood().

◆ checkMinimalPasswordLength()

static PasswordPolicyChecks::checkMinimalPasswordLength (   $policyVal,
User  $user,
  $password 
)
static

Check password is longer than minimum, not fatal.

Parameters
int$policyValminimal length
User$user
string$password
Returns
Status error if $password is shorter than $policyVal

Definition at line 46 of file PasswordPolicyChecks.php.

References StatusValue\newGood().

◆ checkMinimumPasswordLengthToLogin()

static PasswordPolicyChecks::checkMinimumPasswordLengthToLogin (   $policyVal,
User  $user,
  $password 
)
static

Check password is longer than minimum, fatal.

Intended for locking out users with passwords too short to trust, requiring them to recover their account by some other means.

Parameters
int$policyValminimal length
User$user
string$password
Returns
Status fatal if $password is shorter than $policyVal

Definition at line 63 of file PasswordPolicyChecks.php.

References StatusValue\newGood().

◆ checkPasswordCannotBeSubstringInUsername()

static PasswordPolicyChecks::checkPasswordCannotBeSubstringInUsername (   $policyVal,
User  $user,
  $password 
)
static

Check if password is a (case-insensitive) substring within the username.

Parameters
bool$policyValtrue to force compliance.
User$user
string$password
Returns
Status error if password is a substring within username, and policy is true

Definition at line 113 of file PasswordPolicyChecks.php.

References User\getName(), and StatusValue\newGood().

◆ checkPasswordCannotMatchDefaults()

static PasswordPolicyChecks::checkPasswordCannotMatchDefaults (   $policyVal,
User  $user,
  $password 
)
static

Check if username and password are on a list of past MediaWiki default passwords.

Parameters
bool$policyValtrue to force compliance.
User$user
string$password
Returns
Status error if username and password match, and policy is true

Definition at line 133 of file PasswordPolicyChecks.php.

References User\getName(), and StatusValue\newGood().

◆ checkPasswordCannotMatchUsername()

static PasswordPolicyChecks::checkPasswordCannotMatchUsername (   $policyVal,
User  $user,
  $password 
)
static

Check if username and password are a (case-insensitive) match.

Parameters
bool$policyValtrue to force compliance.
User$user
string$password
Returns
Status error if username and password match, and policy is true

Definition at line 94 of file PasswordPolicyChecks.php.

References User\getName(), and StatusValue\newGood().

◆ checkPasswordNotInCommonList()

static PasswordPolicyChecks::checkPasswordNotInCommonList (   $policyVal,
User  $user,
  $password 
)
static

Ensure the password isn't in the list of common passwords by the wikimedia/common-passwords library, which contains (as of 0.2.0) the 100,000 top passwords from SecLists (as a Bloom filter, with an 0.000001 false positive ratio).

Parameters
bool$policyValWhether to apply this policy
User$user
string$password
Since
1.33
Returns
Status

Definition at line 175 of file PasswordPolicyChecks.php.

References StatusValue\newGood().


The documentation for this class was generated from the following file: