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 )
$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 )
$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( '12345', 'User names consisting only of numbers are not allowed.' ),
array( 'thisusernamecontainsenoughcharacterstobelongerthan60characters', 'User names longer than 60 characters are not allowed.' ),
);
}