Make WordPress Core


Ignore:
Timestamp:
03/30/2016 02:49:25 PM (9 years ago)
Author:
ocean90
Message:

Multisite: Validate new email address confirmations.

Merge of [37103] to the 3.7 branch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.7/src/wp-admin/user-edit.php

    r25616 r37111  
    8282if ( is_multisite() && IS_PROFILE_PAGE && isset( $_GET[ 'newuseremail' ] ) && $current_user->ID ) {
    8383    $new_email = get_option( $current_user->ID . '_new_email' );
    84     if ( $new_email[ 'hash' ] == $_GET[ 'newuseremail' ] ) {
     84    if ( $new_email && hash_equals( $new_email[ 'hash' ], $_GET[ 'newuseremail' ] ) ) {
    8585        $user = new stdClass;
    8686        $user->ID = $current_user->ID;
     
    9393        die();
    9494    }
    95 } elseif ( is_multisite() && IS_PROFILE_PAGE && !empty( $_GET['dismiss'] ) && $current_user->ID . '_new_email' == $_GET['dismiss'] ) {
     95} elseif ( is_multisite() && IS_PROFILE_PAGE && !empty( $_GET['dismiss'] ) && $current_user->ID . '_new_email' === $_GET['dismiss'] ) {
     96    check_admin_referer( 'dismiss-' . $current_user->ID . '_new_email' );
    9697    delete_option( $current_user->ID . '_new_email' );
    9798    wp_redirect( add_query_arg( array('updated' => 'true'), self_admin_url( 'profile.php' ) ) );
     
    339340    if ( $new_email && $new_email['newemail'] != $current_user->user_email && $profileuser->ID == $current_user->ID ) : ?>
    340341    <div class="updated inline">
    341     <p><?php printf( __('There is a pending change of your e-mail to <code>%1$s</code>. <a href="%2$s">Cancel</a>'), $new_email['newemail'], esc_url( self_admin_url( 'profile.php?dismiss=' . $current_user->ID . '_new_email' ) ) ); ?></p>
     342    <p><?php printf( __('There is a pending change of your e-mail to <code>%1$s</code>. <a href="%2$s">Cancel</a>'), esc_html( $new_email['newemail'] ), esc_url( wp_nonce_url( self_admin_url( 'profile.php?dismiss=' . $current_user->ID . '_new_email' ), 'dismiss-' . $current_user->ID . '_new_email' ) ) ); ?></p>
    342343    </div>
    343344    <?php endif; ?>
Note: See TracChangeset for help on using the changeset viewer.