WordPress.org

Make WordPress Core

Changeset 23594


Ignore:
Timestamp:
03/03/2013 09:11:40 PM (6 years ago)
Author:
ryan
Message:

Use wp_unslash() instead of stripslashes() and stripslashes_deep(). Use wp_slash() instead of add_magic_quotes().

see #21767

Location:
trunk
Files:
8 edited

Legend:

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

    r23554 r23594  
    584584    }
    585585
    586     $hash = stripslashes( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] );
     586    $hash = wp_unslash( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] );
    587587
    588588    return ! $wp_hasher->CheckPassword( $post->post_password, $hash );
  • trunk/wp-includes/post.php

    r23554 r23594  
    361361    }
    362362
    363     // Strip leading and trailing whitespace
     363    // ` leading and trailing whitespace
    364364    $main = preg_replace('/^[\s]*(.*)[\s]*$/', '\\1', $main);
    365365    $extended = preg_replace('/^[\s]*(.*)[\s]*$/', '\\1', $extended);
     
    27982798    $data = compact( array( 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_content_filtered', 'post_title', 'post_excerpt', 'post_status', 'post_type', 'comment_status', 'ping_status', 'post_password', 'post_name', 'to_ping', 'pinged', 'post_modified', 'post_modified_gmt', 'post_parent', 'menu_order', 'guid' ) );
    27992799    $data = apply_filters('wp_insert_post_data', $data, $postarr);
    2800     $data = stripslashes_deep( $data );
     2800    $data = wp_unslash( $data );
    28012801    $where = array( 'ID' => $post_ID );
    28022802
     
    28112811    } else {
    28122812        if ( isset($post_mime_type) )
    2813             $data['post_mime_type'] = stripslashes( $post_mime_type ); // This isn't in the update
     2813            $data['post_mime_type'] = wp_unslash( $post_mime_type ); // This isn't in the update
    28142814        // If there is a suggested ID, use it if not already present
    28152815        if ( !empty($import_id) ) {
     
    29052905        // non-escaped post was passed
    29062906        $postarr = get_object_vars($postarr);
    2907         $postarr = add_magic_quotes($postarr);
     2907        $postarr = wp_slash($postarr);
    29082908    }
    29092909
     
    29122912
    29132913    // Escape data pulled from DB.
    2914     $post = add_magic_quotes($post);
     2914    $post = wp_slash($post);
    29152915
    29162916    // Passed post category list overwrites existing category list if not empty.
     
    32583258    $new = apply_filters('add_ping', $new);
    32593259    // expected_slashed ($new)
    3260     $new = stripslashes($new);
     3260    $new = wp_unslash($new);
    32613261    return $wpdb->update( $wpdb->posts, array( 'pinged' => $new ), array( 'ID' => $post_id ) );
    32623262}
     
    33513351        foreach( (array) $trackback_urls as $tb_url) {
    33523352            $tb_url = trim($tb_url);
    3353             trackback($tb_url, stripslashes($post_title), $excerpt, $post_id);
     3353            trackback($tb_url, wp_unslash($post_title), $excerpt, $post_id);
    33543354        }
    33553355    }
     
    36953695
    36963696        // meta_key and meta_value might be slashed
    3697         $meta_key = stripslashes($meta_key);
    3698         $meta_value = stripslashes($meta_value);
     3697        $meta_key = wp_unslash($meta_key);
     3698        $meta_value = wp_unslash($meta_value);
    36993699        if ( ! empty( $meta_key ) )
    37003700            $where .= $wpdb->prepare(" AND $wpdb->postmeta.meta_key = %s", $meta_key);
     
    39663966    // expected_slashed (everything!)
    39673967    $data = compact( array( 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_content_filtered', 'post_title', 'post_excerpt', 'post_status', 'post_type', 'comment_status', 'ping_status', 'post_password', 'post_name', 'to_ping', 'pinged', 'post_modified', 'post_modified_gmt', 'post_parent', 'menu_order', 'post_mime_type', 'guid' ) );
    3968     $data = stripslashes_deep( $data );
     3968    $data = wp_unslash( $data );
    39693969
    39703970    if ( $update ) {
  • trunk/wp-includes/revision.php

    r23554 r23594  
    242242
    243243    $post = _wp_post_revision_fields( $post, $autosave );
    244     $post = add_magic_quotes($post); //since data is from db
     244    $post = wp_slash($post); //since data is from db
    245245
    246246    $revision_id = wp_insert_post( $post );
     
    321321    $update['ID'] = $revision['post_parent'];
    322322
    323     $update = add_magic_quotes( $update ); //since data is from db
     323    $update = wp_slash( $update ); //since data is from db
    324324
    325325    $post_id = wp_update_post( $update );
  • trunk/wp-includes/taxonomy.php

    r23554 r23594  
    960960    } else if ( 'name' == $field ) {
    961961        // Assume already escaped
    962         $value = stripslashes($value);
     962        $value = wp_unslash($value);
    963963        $field = 't.name';
    964964    } else {
     
    15001500    }
    15011501
    1502     $term = trim( stripslashes( $term ) );
     1502    $term = trim( wp_unslash( $term ) );
    15031503
    15041504    if ( '' === $slug = sanitize_title($term) )
     
    20632063
    20642064    // expected_slashed ($name)
    2065     $name = stripslashes($name);
    2066     $description = stripslashes($description);
     2065    $name = wp_unslash($name);
     2066    $description = wp_unslash($description);
    20672067
    20682068    if ( empty($slug) )
     
    24462446
    24472447    // Escape data pulled from DB.
    2448     $term = add_magic_quotes($term);
     2448    $term = wp_slash($term);
    24492449
    24502450    // Merge old and new args with new args overwriting old ones.
     
    24572457
    24582458    // expected_slashed ($name)
    2459     $name = stripslashes($name);
    2460     $description = stripslashes($description);
     2459    $name = wp_unslash($name);
     2460    $description = wp_unslash($description);
    24612461
    24622462    if ( '' == trim($name) )
  • trunk/wp-includes/user.php

    r23588 r23594  
    13911391
    13921392    $data = compact( 'user_pass', 'user_email', 'user_url', 'user_nicename', 'display_name', 'user_registered' );
    1393     $data = stripslashes_deep( $data );
     1393    $data = wp_unslash( $data );
    13941394
    13951395    if ( $update ) {
     
    15051505 */
    15061506function wp_create_user($username, $password, $email = '') {
    1507     $user_login = esc_sql( $username );
    1508     $user_email = esc_sql( $email    );
     1507    $user_login = wp_slash( $username );
     1508    $user_email = wp_slash( $email    );
    15091509    $user_pass = $password;
    15101510
  • trunk/wp-login.php

    r23558 r23594  
    400400
    401401    // 10 days
    402     setcookie( 'wp-postpass_' . COOKIEHASH, $wp_hasher->HashPassword( stripslashes( $_POST['post_password'] ) ), time() + 10 * DAY_IN_SECONDS, COOKIEPATH );
     402    setcookie( 'wp-postpass_' . COOKIEHASH, $wp_hasher->HashPassword( wp_unslash( $_POST['post_password'] ) ), time() + 10 * DAY_IN_SECONDS, COOKIEPATH );
    403403
    404404    wp_safe_redirect( wp_get_referer() );
     
    435435    login_header(__('Lost Password'), '<p class="message">' . __('Please enter your username or email address. You will receive a link to create a new password via email.') . '</p>', $errors);
    436436
    437     $user_login = isset($_POST['user_login']) ? stripslashes($_POST['user_login']) : '';
     437    $user_login = isset($_POST['user_login']) ? wp_unslash($_POST['user_login']) : '';
    438438
    439439?>
     
    551551    <p>
    552552        <label for="user_login"><?php _e('Username') ?><br />
    553         <input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr(stripslashes($user_login)); ?>" size="20" /></label>
     553        <input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr(wp_unslash($user_login)); ?>" size="20" /></label>
    554554    </p>
    555555    <p>
    556556        <label for="user_email"><?php _e('E-mail') ?><br />
    557         <input type="text" name="user_email" id="user_email" class="input" value="<?php echo esc_attr(stripslashes($user_email)); ?>" size="25" /></label>
     557        <input type="text" name="user_email" id="user_email" class="input" value="<?php echo esc_attr(wp_unslash($user_email)); ?>" size="25" /></label>
    558558    </p>
    559559<?php do_action('register_form'); ?>
     
    671671
    672672    if ( isset($_POST['log']) )
    673         $user_login = ( 'incorrect_password' == $errors->get_error_code() || 'empty_password' == $errors->get_error_code() ) ? esc_attr(stripslashes($_POST['log'])) : '';
     673        $user_login = ( 'incorrect_password' == $errors->get_error_code() || 'empty_password' == $errors->get_error_code() ) ? esc_attr(wp_unslash($_POST['log'])) : '';
    674674    $rememberme = ! empty( $_POST['rememberme'] );
    675675?>
  • trunk/wp-mail.php

    r23554 r23594  
    203203
    204204    $post_data = compact('post_content','post_title','post_date','post_date_gmt','post_author','post_category', 'post_status');
    205     $post_data = add_magic_quotes($post_data);
     205    $post_data = wp_slash($post_data);
    206206
    207207    $post_ID = wp_insert_post($post_data);
  • trunk/wp-trackback.php

    r23554 r23594  
    4646
    4747// These three are stripslashed here so that they can be properly escaped after mb_convert_encoding()
    48 $title     = isset($_POST['title'])     ? stripslashes($_POST['title'])      : '';
    49 $excerpt   = isset($_POST['excerpt'])   ? stripslashes($_POST['excerpt'])    : '';
    50 $blog_name = isset($_POST['blog_name']) ? stripslashes($_POST['blog_name'])  : '';
     48$title     = isset($_POST['title'])     ? wp_unslash($_POST['title'])      : '';
     49$excerpt   = isset($_POST['excerpt'])   ? wp_unslash($_POST['excerpt'])    : '';
     50$blog_name = isset($_POST['blog_name']) ? wp_unslash($_POST['blog_name'])  : '';
    5151
    5252if ($charset)
     
    6666
    6767// Now that mb_convert_encoding() has been given a swing, we need to escape these three
    68 $title     = $wpdb->escape($title);
    69 $excerpt   = $wpdb->escape($excerpt);
    70 $blog_name = $wpdb->escape($blog_name);
     68$title     = wp_slash($title);
     69$excerpt   = wp_slash($excerpt);
     70$blog_name = wp_slash($blog_name);
    7171
    7272if ( is_single() || is_page() )
Note: See TracChangeset for help on using the changeset viewer.