Usernames in multisite should be restricted to 60 characters or fewer.

Only 60 characters can be stored in the database for a username, which could cause lookup issues when attempting to use similar usernames of extreme length.

Props @DJPaul.
See #17904, Fixes #26784.


git-svn-id: https://develop.svn.wordpress.org/trunk@33083 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jeremy Felt 2015-07-04 05:52:46 +00:00
parent d8df19141a
commit 14f39faab1
2 changed files with 5 additions and 0 deletions

View File

@ -494,6 +494,10 @@ function wpmu_validate_user_signup($user_name, $user_email) {
if ( strlen( $user_name ) < 4 ) if ( strlen( $user_name ) < 4 )
$errors->add('user_name', __( 'Username must be at least 4 characters.' ) ); $errors->add('user_name', __( 'Username must be at least 4 characters.' ) );
if ( strlen( $user_name ) > 60 ) {
$errors->add( 'user_name', __( 'Username may not be longer than 60 characters.' ) );
}
if ( strpos( $user_name, '_' ) !== false ) if ( strpos( $user_name, '_' ) !== false )
$errors->add( 'user_name', __( 'Sorry, usernames may not contain the character &#8220;_&#8221;!' ) ); $errors->add( 'user_name', __( 'Sorry, usernames may not contain the character &#8220;_&#8221;!' ) );

View File

@ -26,6 +26,7 @@ class Tests_Multisite_WpmuValidateUserSignup extends WP_UnitTestCase {
array( 'f', 'User names of 1 characters are not allowed.' ), array( 'f', 'User names of 1 characters are not allowed.' ),
array( 'f', 'User names of 1 characters are not allowed.' ), array( 'f', 'User names of 1 characters are not allowed.' ),
array( '12345', 'User names consisting only of numbers are not allowed.' ), array( '12345', 'User names consisting only of numbers are not allowed.' ),
array( 'thisusernamecontainsenoughcharacterstobelongerthan60characters', 'User names longer than 60 characters are not allowed.' ),
); );
} }