9declare( strict_types = 1 );
15use Wikimedia\CommonPasswords\CommonPasswords;
38 $status =
Status::newGood();
39 if ( $policyVal > strlen( $password ) ) {
40 $status->
error(
'passwordtooshort', $policyVal );
59 $status =
Status::newGood();
60 if ( $policyVal > strlen( $password ) ) {
61 $status->
fatal(
'passwordtooshort', $policyVal );
79 $status =
Status::newGood();
80 if ( $policyVal < strlen( $password ) ) {
81 $status->
fatal(
'passwordtoolong', $policyVal );
98 $status =
Status::newGood();
100 if ( $policyVal && stripos( $username, $password ) !==
false ) {
101 $status->error(
'password-substring-username-match' );
118 static $blockedLogins = [
120 'Useruser' =>
'Passpass',
121 'Useruser1' =>
'Passpass1',
123 'Apitestsysop' =>
'testpass',
124 'Apitestuser' =>
'testpass',
127 $status = Status::newGood();
131 isset( $blockedLogins[$username] ) &&
132 hash_equals( $blockedLogins[$username], $password )
134 $status->error(
'password-login-forbidden' );
138 if ( hash_equals(
'ExamplePassword', $password ) ) {
139 $status->error(
'password-login-forbidden' );
164 $status =
Status::newGood();
165 if ( $policyVal && CommonPasswords::isCommon( $password ) ) {
166 $status->
error(
'passwordincommonlist' );
fatal( $message,... $parameters)
Add an error and set OK to false, indicating that the operation as a whole was fatal.
error( $message,... $parameters)
Add an error, do not set fatal flag This can be used for non-fatal errors.