Make WordPress Core


Ignore:
Timestamp:
10/21/2021 06:17:20 PM (3 years ago)
Author:
SergeyBiryukov
Message:

Coding Standards: Improve escaping in wp_login_form().

  • Split long concatenated lines using sprintf(). This aims to improve readability and avoid multiple esc_attr() calls for the same value.
  • Escape the form name and id attributes.

Follow-up to [12696], [18444], [19033].

Props sabbirshouvo, mukesh27, audrasjb, henry.wright, SergeyBiryukov.
Fixes #54279.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/general-template.php

    r51768 r51926  
    577577    $login_form_bottom = apply_filters( 'login_form_bottom', '', $args );
    578578
    579     $form = '
    580         <form name="' . $args['form_id'] . '" id="' . $args['form_id'] . '" action="' . esc_url( site_url( 'wp-login.php', 'login_post' ) ) . '" method="post">
    581             ' . $login_form_top . '
    582             <p class="login-username">
    583                 <label for="' . esc_attr( $args['id_username'] ) . '">' . esc_html( $args['label_username'] ) . '</label>
    584                 <input type="text" name="log" id="' . esc_attr( $args['id_username'] ) . '" class="input" value="' . esc_attr( $args['value_username'] ) . '" size="20" />
    585             </p>
    586             <p class="login-password">
    587                 <label for="' . esc_attr( $args['id_password'] ) . '">' . esc_html( $args['label_password'] ) . '</label>
    588                 <input type="password" name="pwd" id="' . esc_attr( $args['id_password'] ) . '" class="input" value="" size="20" />
    589             </p>
    590             ' . $login_form_middle . '
    591             ' . ( $args['remember'] ? '<p class="login-remember"><label><input name="rememberme" type="checkbox" id="' . esc_attr( $args['id_remember'] ) . '" value="forever"' . ( $args['value_remember'] ? ' checked="checked"' : '' ) . ' /> ' . esc_html( $args['label_remember'] ) . '</label></p>' : '' ) . '
    592             <p class="login-submit">
    593                 <input type="submit" name="wp-submit" id="' . esc_attr( $args['id_submit'] ) . '" class="button button-primary" value="' . esc_attr( $args['label_log_in'] ) . '" />
    594                 <input type="hidden" name="redirect_to" value="' . esc_url( $args['redirect'] ) . '" />
    595             </p>
    596             ' . $login_form_bottom . '
    597         </form>';
     579    $form =
     580        sprintf(
     581            '<form name="%1$s" id="%1$s" action="%2$s" method="post">',
     582            esc_attr( $args['form_id'] ),
     583            esc_url( site_url( 'wp-login.php', 'login_post' ) )
     584        ) .
     585        $login_form_top .
     586        sprintf(
     587            '<p class="login-username">
     588                <label for="%1$s">%2$s</label>
     589                <input type="text" name="log" id="%1$s" class="input" value="%3$s" size="20" />
     590            </p>',
     591            esc_attr( $args['id_username'] ),
     592            esc_html( $args['label_username'] ),
     593            esc_attr( $args['value_username'] )
     594        ) .
     595        sprintf(
     596            '<p class="login-password">
     597                <label for="%1$s">%2$s</label>
     598                <input type="password" name="pwd" id="%1$s" class="input" value="" size="20" />
     599            </p>',
     600            esc_attr( $args['id_password'] ),
     601            esc_html( $args['label_password'] )
     602        ) .
     603        $login_form_middle .
     604        ( $args['remember'] ?
     605            sprintf(
     606                '<p class="login-remember"><label><input name="rememberme" type="checkbox" id="%1$s" value="forever"%2$s /> %3$s</label></p>',
     607                esc_attr( $args['id_remember'] ),
     608                ( $args['value_remember'] ? ' checked="checked"' : '' ),
     609                esc_html( $args['label_remember'] )
     610            ) : ''
     611        ) .
     612        sprintf(
     613            '<p class="login-submit">
     614                <input type="submit" name="wp-submit" id="%1$s" class="button button-primary" value="%2$s" />
     615                <input type="hidden" name="redirect_to" value="%3$s" />
     616            </p>',
     617            esc_attr( $args['id_submit'] ),
     618            esc_attr( $args['label_log_in'] ),
     619            esc_url( $args['redirect'] )
     620        ) .
     621        $login_form_bottom .
     622        '</form>';
    598623
    599624    if ( $args['echo'] ) {
Note: See TracChangeset for help on using the changeset viewer.