Multisite: Validate email before checking against banned domains.

Previously, an invalid email could result in an undefined index when attempting to determine the email domain.

Props ocean90.
See #39915.

Built from https://develop.svn.wordpress.org/trunk@40594


git-svn-id: http://core.svn.wordpress.org/trunk@40464 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Jeremy Felt 2017-05-09 16:33:46 +00:00
parent d92dbd24fc
commit 3600dc562e
2 changed files with 6 additions and 6 deletions

View File

@ -442,8 +442,11 @@ function wpmu_validate_user_signup($user_name, $user_email) {
$errors->add( 'user_name', __( 'Sorry, that username is not allowed.' ) ); $errors->add( 'user_name', __( 'Sorry, that username is not allowed.' ) );
} }
if ( is_email_address_unsafe( $user_email ) ) if ( ! is_email( $user_email ) ) {
$errors->add( 'user_email', __( 'Please enter a valid email address.' ) );
} elseif ( is_email_address_unsafe( $user_email ) ) {
$errors->add( 'user_email', __( 'You cannot use that email address to signup. We are having problems with them blocking some of our email. Please use another email provider.' ) ); $errors->add( 'user_email', __( 'You cannot use that email address to signup. We are having problems with them blocking some of our email. Please use another email provider.' ) );
}
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.' ) );
@ -456,9 +459,6 @@ function wpmu_validate_user_signup($user_name, $user_email) {
if ( preg_match( '/^[0-9]*$/', $user_name ) ) if ( preg_match( '/^[0-9]*$/', $user_name ) )
$errors->add('user_name', __('Sorry, usernames must have letters too!')); $errors->add('user_name', __('Sorry, usernames must have letters too!'));
if ( !is_email( $user_email ) )
$errors->add('user_email', __( 'Please enter a valid email address.' ) );
$limited_email_domains = get_site_option( 'limited_email_domains' ); $limited_email_domains = get_site_option( 'limited_email_domains' );
if ( is_array( $limited_email_domains ) && ! empty( $limited_email_domains ) ) { if ( is_array( $limited_email_domains ) && ! empty( $limited_email_domains ) ) {
$emaildomain = substr( $user_email, 1 + strpos( $user_email, '@' ) ); $emaildomain = substr( $user_email, 1 + strpos( $user_email, '@' ) );

View File

@ -4,7 +4,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '4.8-alpha-40593'; $wp_version = '4.8-alpha-40594';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.