Ticket #44901: 44901.5.diff
| File 44901.5.diff, 3.8 KB (added by , 7 years ago) |
|---|
-
src/wp-includes/user.php
2313 2313 $key = preg_replace( '/[^a-z0-9]/i', '', $key ); 2314 2314 2315 2315 if ( empty( $key ) || ! is_string( $key ) ) { 2316 return new WP_Error( 'invalid_key', __( 'Invalid key ' ) );2316 return new WP_Error( 'invalid_key', __( 'Invalid key.' ) ); 2317 2317 } 2318 2318 2319 2319 if ( empty( $login ) || ! is_string( $login ) ) { 2320 return new WP_Error( 'invalid_key', __( 'Invalid key ' ) );2320 return new WP_Error( 'invalid_key', __( 'Invalid key.' ) ); 2321 2321 } 2322 2322 2323 2323 $row = $wpdb->get_row( $wpdb->prepare( "SELECT ID, user_activation_key FROM $wpdb->users WHERE user_login = %s", $login ) ); 2324 2324 if ( ! $row ) { 2325 return new WP_Error( 'invalid_key', __( 'Invalid key ' ) );2325 return new WP_Error( 'invalid_key', __( 'Invalid key.' ) ); 2326 2326 } 2327 2327 2328 2328 if ( empty( $wp_hasher ) ) { … … 2348 2348 } 2349 2349 2350 2350 if ( ! $pass_key ) { 2351 return new WP_Error( 'invalid_key', __( 'Invalid key ' ) );2351 return new WP_Error( 'invalid_key', __( 'Invalid key.' ) ); 2352 2352 } 2353 2353 2354 2354 $hash_is_correct = $wp_hasher->CheckPassword( $key, $pass_key ); … … 2357 2357 return get_userdata( $row->ID ); 2358 2358 } elseif ( $hash_is_correct && $expiration_time ) { 2359 2359 // Key has an expiration time that's passed 2360 return new WP_Error( 'expired_key', __( 'Invalid key ' ) );2360 return new WP_Error( 'expired_key', __( 'Invalid key.' ) ); 2361 2361 } 2362 2362 2363 2363 if ( hash_equals( $row->user_activation_key, $key ) || ( $hash_is_correct && ! $expiration_time ) ) { 2364 $return = new WP_Error( 'expired_key', __( 'Invalid key ' ) );2364 $return = new WP_Error( 'expired_key', __( 'Invalid key.' ) ); 2365 2365 $user_id = $row->ID; 2366 2366 2367 2367 /** … … 2378 2378 return apply_filters( 'password_reset_key_expired', $return, $user_id ); 2379 2379 } 2380 2380 2381 return new WP_Error( 'invalid_key', __( 'Invalid key ' ) );2381 return new WP_Error( 'invalid_key', __( 'Invalid key.' ) ); 2382 2382 } 2383 2383 2384 2384 /** … … 3574 3574 } 3575 3575 3576 3576 if ( empty( $key ) ) { 3577 return new WP_Error( ' invalid_key', __( 'Invalid key' ) );3577 return new WP_Error( 'missing_key', __( 'Missing confirm key.' ) ); 3578 3578 } 3579 3579 3580 3580 if ( empty( $wp_hasher ) ) { … … 3586 3586 $saved_key = $request->confirm_key; 3587 3587 3588 3588 if ( ! $saved_key ) { 3589 return new WP_Error( 'invalid_key', __( 'Invalid key ' ) );3589 return new WP_Error( 'invalid_key', __( 'Invalid key.' ) ); 3590 3590 } 3591 3591 3592 3592 if ( ! $key_request_time ) { 3593 return new WP_Error( 'invalid_key', __( 'Invalid action ' ) );3593 return new WP_Error( 'invalid_key', __( 'Invalid action.' ) ); 3594 3594 } 3595 3595 3596 3596 /** … … 3604 3604 $expiration_time = $key_request_time + $expiration_duration; 3605 3605 3606 3606 if ( ! $wp_hasher->CheckPassword( $key, $saved_key ) ) { 3607 return new WP_Error( 'invalid_key', __( 'Invalid key ' ) );3607 return new WP_Error( 'invalid_key', __( 'Invalid key.' ) ); 3608 3608 } 3609 3609 3610 3610 if ( ! $expiration_time || time() > $expiration_time ) { -
src/wp-login.php
852 852 853 853 case 'confirmaction': 854 854 if ( ! isset( $_GET['request_id'] ) ) { 855 wp_die( __( ' Invalid request.' ) );855 wp_die( __( 'Missing request ID.' ) ); 856 856 } 857 857 858 if ( ! isset( $_GET['confirm_key'] ) ) { 859 wp_die( __( 'Missing confirm key.' ) ); 860 } 861 858 862 $request_id = (int) $_GET['request_id']; 863 $key = sanitize_text_field( wp_unslash( $_GET['confirm_key'] ) ); 864 $result = wp_validate_user_request_key( $request_id, $key ); 859 865 860 if ( isset( $_GET['confirm_key'] ) ) {861 $key = sanitize_text_field( wp_unslash( $_GET['confirm_key'] ) );862 $result = wp_validate_user_request_key( $request_id, $key );863 } else {864 $result = new WP_Error( 'invalid_key', __( 'Invalid key' ) );865 }866 867 866 if ( is_wp_error( $result ) ) { 868 867 wp_die( $result ); 869 868 }