WordPress.org

Make WordPress Core

Ticket #21767: 21767.19.diff

File 21767.19.diff, 157.7 KB (added by ryan, 17 months ago)

Revert 23416, 23419, 23445 except for wp_reset_vars() changes.

  • wp-login.php

     
    399399        } 
    400400 
    401401        // 10 days 
    402         setcookie( 'wp-postpass_' . COOKIEHASH, $wp_hasher->HashPassword( wp_unslash( $_POST['post_password'] ) ), time() + 10 * DAY_IN_SECONDS, COOKIEPATH ); 
     402        setcookie( 'wp-postpass_' . COOKIEHASH, $wp_hasher->HashPassword( stripslashes( $_POST['post_password'] ) ), time() + 10 * DAY_IN_SECONDS, COOKIEPATH ); 
    403403 
    404404        wp_safe_redirect( wp_get_referer() ); 
    405405        exit(); 
     
    434434        do_action('lost_password'); 
    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']) ? wp_unslash($_POST['user_login']) : ''; 
     437        $user_login = isset($_POST['user_login']) ? stripslashes($_POST['user_login']) : ''; 
    438438 
    439439?> 
    440440 
     
    533533        $user_login = ''; 
    534534        $user_email = ''; 
    535535        if ( $http_post ) { 
    536                 $user_login = wp_unslash( $_POST['user_login'] ); 
    537                 $user_email = wp_unslash( $_POST['user_email'] ); 
     536                $user_login = $_POST['user_login']; 
     537                $user_email = $_POST['user_email']; 
    538538                $errors = register_new_user($user_login, $user_email); 
    539539                if ( !is_wp_error($errors) ) { 
    540540                        $redirect_to = !empty( $_POST['redirect_to'] ) ? $_POST['redirect_to'] : 'wp-login.php?checkemail=registered'; 
     
    550550<form name="registerform" id="registerform" action="<?php echo esc_url( site_url('wp-login.php?action=register', 'login_post') ); ?>" method="post"> 
    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( $user_login ); ?>" size="20" /></label> 
     553                <input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr(stripslashes($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( $user_email ); ?>" size="25" /></label> 
     557                <input type="text" name="user_email" id="user_email" class="input" value="<?php echo esc_attr(stripslashes($user_email)); ?>" size="25" /></label> 
    558558        </p> 
    559559<?php do_action('register_form'); ?> 
    560560        <p id="reg_passmail"><?php _e('A password will be e-mailed to you.') ?></p> 
     
    670670        login_header(__('Log In'), '', $errors); 
    671671 
    672672        if ( isset($_POST['log']) ) 
    673                 $user_login = ( 'incorrect_password' == $errors->get_error_code() || 'empty_password' == $errors->get_error_code() ) ? esc_attr( wp_unslash( $_POST['log'] ) ) : ''; 
     673                $user_login = ( 'incorrect_password' == $errors->get_error_code() || 'empty_password' == $errors->get_error_code() ) ? esc_attr(stripslashes($_POST['log'])) : ''; 
    674674        $rememberme = ! empty( $_POST['rememberme'] ); 
    675675?> 
    676676 
  • wp-comments-post.php

     
    1717 
    1818nocache_headers(); 
    1919 
    20 $post_data = wp_unslash( $_POST ); 
     20$comment_post_ID = isset($_POST['comment_post_ID']) ? (int) $_POST['comment_post_ID'] : 0; 
    2121 
    22 $comment_post_ID = isset($post_data['comment_post_ID']) ? (int) $post_data['comment_post_ID'] : 0; 
    23  
    2422$post = get_post($comment_post_ID); 
    2523 
    2624if ( empty($post->comment_status) ) { 
     
    4947        do_action('pre_comment_on_post', $comment_post_ID); 
    5048} 
    5149 
    52 $comment_author       = ( isset( $post_data['author'] ) )  ? trim( strip_tags( $post_data['author'] ) ) : null; 
    53 $comment_author_email = ( isset( $post_data['email'] ) )   ? trim( $post_data['email'] ) : null; 
    54 $comment_author_url   = ( isset( $post_data['url'] ) )     ? trim( $post_data['url'] ) : null; 
    55 $comment_content      = ( isset( $post_data['comment'] ) ) ? trim( $post_data['comment'] ) : null; 
     50$comment_author       = ( isset($_POST['author']) )  ? trim(strip_tags($_POST['author'])) : null; 
     51$comment_author_email = ( isset($_POST['email']) )   ? trim($_POST['email']) : null; 
     52$comment_author_url   = ( isset($_POST['url']) )     ? trim($_POST['url']) : null; 
     53$comment_content      = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null; 
    5654 
    5755// If the user is logged in 
    5856$user = wp_get_current_user(); 
    5957if ( $user->exists() ) { 
    6058        if ( empty( $user->display_name ) ) 
    61                 $user->display_name = $user->user_login; 
    62         $comment_author       = $user->display_name; 
    63         $comment_author_email = $user->user_email; 
    64         $comment_author_url   = $user->user_url; 
     59                $user->display_name=$user->user_login; 
     60        $comment_author       = $wpdb->escape($user->display_name); 
     61        $comment_author_email = $wpdb->escape($user->user_email); 
     62        $comment_author_url   = $wpdb->escape($user->user_url); 
    6563        if ( current_user_can('unfiltered_html') ) { 
    66                 if ( wp_create_nonce('unfiltered-html-comment_' . $comment_post_ID) != $post_data['_wp_unfiltered_html_comment'] ) { 
     64                if ( wp_create_nonce('unfiltered-html-comment_' . $comment_post_ID) != $_POST['_wp_unfiltered_html_comment'] ) { 
    6765                        kses_remove_filters(); // start with a clean slate 
    6866                        kses_init_filters(); // set up the filters 
    6967                } 
     
    8583if ( '' == $comment_content ) 
    8684        wp_die( __('<strong>ERROR</strong>: please type a comment.') ); 
    8785 
    88 $comment_parent = isset($post_data['comment_parent']) ? absint($post_data['comment_parent']) : 0; 
     86$comment_parent = isset($_POST['comment_parent']) ? absint($_POST['comment_parent']) : 0; 
    8987 
    9088$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID'); 
    9189 
     
    9492$comment = get_comment($comment_id); 
    9593do_action('set_comment_cookies', $comment, $user); 
    9694 
    97 $location = empty($post_data['redirect_to']) ? get_comment_link($comment_id) : $post_data['redirect_to'] . '#comment-' . $comment_id; 
     95$location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id; 
    9896$location = apply_filters('comment_post_redirect', $location, $comment); 
    9997 
    10098wp_safe_redirect( $location ); 
  • wp-includes/default-filters.php

     
    1414 
    1515// Strip, trim, kses, special chars for string saves 
    1616foreach ( array( 'pre_term_name', 'pre_comment_author_name', 'pre_link_name', 'pre_link_target', 'pre_link_rel', 'pre_user_display_name', 'pre_user_first_name', 'pre_user_last_name', 'pre_user_nickname' ) as $filter ) { 
    17         add_filter( $filter, 'sanitize_text_field' ); 
    18         add_filter( $filter, 'wp_kses_data' ); 
     17        add_filter( $filter, 'sanitize_text_field'  ); 
     18        add_filter( $filter, 'wp_filter_kses'      ); 
    1919        add_filter( $filter, '_wp_specialchars', 30 ); 
    2020} 
    2121 
     
    3131 
    3232// Kses only for textarea saves 
    3333foreach ( array( 'pre_term_description', 'pre_link_description', 'pre_link_notes', 'pre_user_description' ) as $filter ) { 
    34         add_filter( $filter, 'wp_kses_data' ); 
     34        add_filter( $filter, 'wp_filter_kses' ); 
    3535} 
    3636 
    3737// Kses only for textarea admin displays 
     
    4646foreach ( array( 'pre_comment_author_email', 'pre_user_email' ) as $filter ) { 
    4747        add_filter( $filter, 'trim'           ); 
    4848        add_filter( $filter, 'sanitize_email' ); 
    49         add_filter( $filter, 'wp_kses_data' ); 
     49        add_filter( $filter, 'wp_filter_kses' ); 
    5050} 
    5151 
    5252// Email admin display 
  • wp-includes/post-template.php

     
    583583                $wp_hasher = new PasswordHash(8, true); 
    584584        } 
    585585 
    586         $hash = wp_unslash( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] ); 
     586        $hash = stripslashes( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] ); 
    587587 
    588588        return ! $wp_hasher->CheckPassword( $post->post_password, $hash ); 
    589589} 
  • wp-includes/taxonomy.php

     
    958958                if ( empty($value) ) 
    959959                        return false; 
    960960        } else if ( 'name' == $field ) { 
     961                // Assume already escaped 
     962                $value = stripslashes($value); 
    961963                $field = 't.name'; 
    962964        } else { 
    963965                $term = get_term( (int) $value, $taxonomy, $output, $filter); 
     
    14971499                        return $wpdb->get_var( $wpdb->prepare( $select . $where, $term ) ); 
    14981500        } 
    14991501 
    1500         $term = trim( $term ); 
     1502        $term = trim( stripslashes( $term ) ); 
    15011503 
    15021504        if ( '' === $slug = sanitize_title($term) ) 
    15031505                return 0; 
     
    20592061        $args = sanitize_term($args, $taxonomy, 'db'); 
    20602062        extract($args, EXTR_SKIP); 
    20612063 
     2064        // expected_slashed ($name) 
     2065        $name = stripslashes($name); 
     2066        $description = stripslashes($description); 
     2067 
    20622068        if ( empty($slug) ) 
    20632069                $slug = sanitize_title($name); 
    20642070 
     
    24382444        if ( is_wp_error( $term ) ) 
    24392445                return $term; 
    24402446 
     2447        // Escape data pulled from DB. 
     2448        $term = add_magic_quotes($term); 
     2449 
    24412450        // Merge old and new args with new args overwriting old ones. 
    24422451        $args = array_merge($term, $args); 
    24432452 
     
    24462455        $args = sanitize_term($args, $taxonomy, 'db'); 
    24472456        extract($args, EXTR_SKIP); 
    24482457 
     2458        // expected_slashed ($name) 
     2459        $name = stripslashes($name); 
     2460        $description = stripslashes($description); 
     2461 
    24492462        if ( '' == trim($name) ) 
    24502463                return new WP_Error('empty_term_name', __('A name is required for this term')); 
    24512464 
  • wp-includes/ms-files.php

     
    5858header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', time() + 100000000 ) . ' GMT' ); 
    5959 
    6060// Support for Conditional GET 
    61 $client_etag = isset( $_SERVER['HTTP_IF_NONE_MATCH'] ) ? wp_unslash( $_SERVER['HTTP_IF_NONE_MATCH'] ) : false; 
     61$client_etag = isset( $_SERVER['HTTP_IF_NONE_MATCH'] ) ? stripslashes( $_SERVER['HTTP_IF_NONE_MATCH'] ) : false; 
    6262 
    6363if( ! isset( $_SERVER['HTTP_IF_MODIFIED_SINCE'] ) ) 
    6464        $_SERVER['HTTP_IF_MODIFIED_SINCE'] = false; 
  • wp-includes/class-wp-customize-manager.php

     
    310310        public function post_value( $setting ) { 
    311311                if ( ! isset( $this->_post_values ) ) { 
    312312                        if ( isset( $_POST['customized'] ) ) 
    313                                 $this->_post_values = json_decode( wp_unslash( $_POST['customized'] ), true ); 
     313                                $this->_post_values = json_decode( stripslashes( $_POST['customized'] ), true ); 
    314314                        else 
    315315                                $this->_post_values = false; 
    316316                } 
  • wp-includes/post.php

     
    16771677 * @link http://codex.wordpress.org/Function_Reference/add_post_meta 
    16781678 * 
    16791679 * @param int $post_id Post ID. 
    1680  * @param string $meta_key Metadata name (expected slashed). 
    1681  * @param mixed $meta_value Metadata value (expected slashed). 
     1680 * @param string $meta_key Metadata name. 
     1681 * @param mixed $meta_value Metadata value. 
    16821682 * @param bool $unique Optional, default is false. Whether the same key should not be added. 
    16831683 * @return bool False for failure. True for success. 
    16841684 */ 
    1685 function add_post_meta( $post_id, $meta_key, $meta_value, $unique = false ) { 
    1686         //_deprecated_function( __FUNCTION__, '3.6', 'wp_add_post_meta() (expects unslashed data)' ); 
    1687  
    1688         // expected slashed 
    1689         $meta_key = stripslashes( $meta_key ); 
    1690         $meta_value = stripslashes_deep( $meta_value ); 
    1691  
    1692         return wp_add_post_meta( $post_id, $meta_key, $meta_value, $unique ); 
    1693 } 
    1694  
    1695 /** 
    1696  * Add meta data field to a post. 
    1697  * 
    1698  * Post meta data is called "Custom Fields" on the Administration Screen. 
    1699  * 
    1700  * @since 3.6.0 
    1701  * @link http://codex.wordpress.org/Function_Reference/wp_add_post_meta 
    1702  * 
    1703  * @param int $post_id Post ID. 
    1704  * @param string $meta_key Metadata name (clean, slashes already stripped). 
    1705  * @param mixed $meta_value Metadata value (clean, slashes already stripped). 
    1706  * @param bool $unique Optional, default is false. Whether the same key should not be added. 
    1707  * @return bool False for failure. True for success. 
    1708  */ 
    1709 function wp_add_post_meta( $post_id, $meta_key, $meta_value, $unique = false ) { 
     1685function add_post_meta($post_id, $meta_key, $meta_value, $unique = false) { 
    17101686        // make sure meta is added to the post, not a revision 
    1711         if ( $the_post = wp_is_post_revision( $post_id ) ) 
     1687        if ( $the_post = wp_is_post_revision($post_id) ) 
    17121688                $post_id = $the_post; 
    17131689 
    1714         return add_metadata( 'post', $post_id, $meta_key, $meta_value, $unique ); 
     1690        return add_metadata('post', $post_id, $meta_key, $meta_value, $unique); 
    17151691} 
    17161692 
    17171693/** 
     
    17681744 * @link http://codex.wordpress.org/Function_Reference/update_post_meta 
    17691745 * 
    17701746 * @param int $post_id Post ID. 
    1771  * @param string $meta_key Metadata key (expected slashed). 
    1772  * @param mixed $meta_value Metadata value (expected slashed). 
     1747 * @param string $meta_key Metadata key. 
     1748 * @param mixed $meta_value Metadata value. 
    17731749 * @param mixed $prev_value Optional. Previous value to check before removing. 
    17741750 * @return bool False on failure, true if success. 
    17751751 */ 
    1776 function update_post_meta( $post_id, $meta_key, $meta_value, $prev_value = '' ) { 
    1777         //_deprecated_function( __FUNCTION__, '3.6', 'wp_update_post_meta() (expects unslashed data)' ); 
    1778  
    1779         // expected slashed 
    1780         $meta_key = stripslashes( $meta_key ); 
    1781         $meta_value = stripslashes_deep( $meta_value ); 
    1782  
    1783         return wp_update_post_meta( $post_id, $meta_key, $meta_value, $prev_value ); 
    1784 } 
    1785  
    1786 /** 
    1787  * Update post meta field based on post ID. 
    1788  * 
    1789  * Use the $prev_value parameter to differentiate between meta fields with the 
    1790  * same key and post ID. 
    1791  * 
    1792  * If the meta field for the post does not exist, it will be added. 
    1793  * 
    1794  * @since 3.6.0 
    1795  * @uses $wpdb 
    1796  * @link http://codex.wordpress.org/Function_Reference/wp_update_post_meta 
    1797  * 
    1798  * @param int $post_id Post ID. 
    1799  * @param string $meta_key Metadata key (clean, slashes already stripped). 
    1800  * @param mixed $meta_value Metadata value (clean, slashes already stripped). 
    1801  * @param mixed $prev_value Optional. Previous value to check before removing. 
    1802  * @return bool False on failure, true if success. 
    1803  */ 
    1804 function wp_update_post_meta( $post_id, $meta_key, $meta_value, $prev_value = '' ) { 
     1752function update_post_meta($post_id, $meta_key, $meta_value, $prev_value = '') { 
    18051753        // make sure meta is added to the post, not a revision 
    1806         if ( $the_post = wp_is_post_revision( $post_id ) ) 
     1754        if ( $the_post = wp_is_post_revision($post_id) ) 
    18071755                $post_id = $the_post; 
    18081756 
    1809         return update_metadata( 'post', $post_id, $meta_key, $meta_value, $prev_value ); 
     1757        return update_metadata('post', $post_id, $meta_key, $meta_value, $prev_value); 
    18101758} 
    18111759 
    18121760/** 
     
    23932341 
    23942342        do_action('wp_trash_post', $post_id); 
    23952343 
    2396         wp_add_post_meta($post_id,'_wp_trash_meta_status', $post['post_status']); 
    2397         wp_add_post_meta($post_id,'_wp_trash_meta_time', time()); 
     2344        add_post_meta($post_id,'_wp_trash_meta_status', $post['post_status']); 
     2345        add_post_meta($post_id,'_wp_trash_meta_time', time()); 
    23982346 
    23992347        $post['post_status'] = 'trash'; 
    24002348        wp_insert_post($post); 
     
    24702418        $statuses = array(); 
    24712419        foreach ( $comments as $comment ) 
    24722420                $statuses[$comment->comment_ID] = $comment->comment_approved; 
    2473         wp_add_post_meta($post_id, '_wp_trash_meta_comments_status', $statuses); 
     2421        add_post_meta($post_id, '_wp_trash_meta_comments_status', $statuses); 
    24742422 
    24752423        // Set status for all comments to post-trashed 
    24762424        $result = $wpdb->update($wpdb->comments, array('comment_approved' => 'post-trashed'), array('comment_post_ID' => $post_id)); 
     
    28462794 
    28472795        $post_name = wp_unique_post_slug($post_name, $post_ID, $post_status, $post_type, $post_parent); 
    28482796 
     2797        // expected_slashed (everything!) 
    28492798        $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' ) ); 
    28502799        $data = apply_filters('wp_insert_post_data', $data, $postarr); 
     2800        $data = stripslashes_deep( $data ); 
    28512801        $where = array( 'ID' => $post_ID ); 
    28522802 
    28532803        if ( $update ) { 
     
    28602810                } 
    28612811        } else { 
    28622812                if ( isset($post_mime_type) ) 
    2863                         $data['post_mime_type'] = $post_mime_type; // This isn't in the update 
     2813                        $data['post_mime_type'] = stripslashes( $post_mime_type ); // This isn't in the update 
    28642814                // If there is a suggested ID, use it if not already present 
    28652815                if ( !empty($import_id) ) { 
    28662816                        $import_id = (int) $import_id; 
     
    29212871                        else 
    29222872                                return 0; 
    29232873                } 
    2924                 wp_update_post_meta($post_ID, '_wp_page_template',  $page_template); 
     2874                update_post_meta($post_ID, '_wp_page_template',  $page_template); 
    29252875        } 
    29262876 
    29272877        wp_transition_post_status($data['post_status'], $previous_status, $post); 
     
    29542904        if ( is_object($postarr) ) { 
    29552905                // non-escaped post was passed 
    29562906                $postarr = get_object_vars($postarr); 
     2907                $postarr = add_magic_quotes($postarr); 
    29572908        } 
    29582909 
    29592910        // First, get all of the original fields 
    29602911        $post = get_post($postarr['ID'], ARRAY_A); 
    29612912 
     2913        // Escape data pulled from DB. 
     2914        $post = add_magic_quotes($post); 
     2915 
    29622916        // Passed post category list overwrites existing category list if not empty. 
    29632917        if ( isset($postarr['post_category']) && is_array($postarr['post_category']) 
    29642918                         && 0 != count($postarr['post_category']) ) 
     
    33963350                $trackback_urls = explode(',', $tb_list); 
    33973351                foreach( (array) $trackback_urls as $tb_url) { 
    33983352                        $tb_url = trim($tb_url); 
    3399                         trackback($tb_url, $post_title, $excerpt, $post_id); 
     3353                        trackback($tb_url, stripslashes($post_title), $excerpt, $post_id); 
    34003354                } 
    34013355        } 
    34023356} 
     
    37393693        if ( ! empty( $meta_key ) || ! empty( $meta_value ) ) { 
    37403694                $join = " LEFT JOIN $wpdb->postmeta ON ( $wpdb->posts.ID = $wpdb->postmeta.post_id )"; 
    37413695 
     3696                // meta_key and meta_value might be slashed 
     3697                $meta_key = stripslashes($meta_key); 
     3698                $meta_value = stripslashes($meta_value); 
    37423699                if ( ! empty( $meta_key ) ) 
    37433700                        $where .= $wpdb->prepare(" AND $wpdb->postmeta.meta_key = %s", $meta_key); 
    37443701                if ( ! empty( $meta_value ) ) 
     
    39633920        else 
    39643921                $post_name = sanitize_title($post_name); 
    39653922 
     3923        // expected_slashed ($post_name) 
    39663924        $post_name = wp_unique_post_slug($post_name, $post_ID, $post_status, $post_type, $post_parent); 
    39673925 
    39683926        if ( empty($post_date) ) 
     
    40053963        if ( ! isset($pinged) ) 
    40063964                $pinged = ''; 
    40073965 
     3966        // expected_slashed (everything!) 
    40083967        $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 ); 
    40093969 
    40103970        if ( $update ) { 
    40113971                $wpdb->update( $wpdb->posts, $data, array( 'ID' => $post_ID ) ); 
     
    40504010        clean_post_cache( $post_ID ); 
    40514011 
    40524012        if ( ! empty( $context ) ) 
    4053                 wp_add_post_meta( $post_ID, '_wp_attachment_context', $context, true ); 
     4013                add_post_meta( $post_ID, '_wp_attachment_context', $context, true ); 
    40544014 
    40554015        if ( $update) { 
    40564016                do_action('edit_attachment', $post_ID); 
     
    44374397 
    44384398        // if we haven't added this old slug before, add it now 
    44394399        if ( !empty( $post_before->post_name ) && !in_array($post_before->post_name, $old_slugs) ) 
    4440                 wp_add_post_meta($post_id, '_wp_old_slug', $post_before->post_name); 
     4400                add_post_meta($post_id, '_wp_old_slug', $post_before->post_name); 
    44414401 
    44424402        // if the new slug was used previously, delete it from the list 
    44434403        if ( in_array($post->post_name, $old_slugs) ) 
     
    48544814                return; 
    48554815 
    48564816        if ( get_option('default_pingback_flag') ) 
    4857                 wp_add_post_meta( $post_id, '_pingme', '1' ); 
    4858         wp_add_post_meta( $post_id, '_encloseme', '1' ); 
     4817                add_post_meta( $post_id, '_pingme', '1' ); 
     4818        add_post_meta( $post_id, '_encloseme', '1' ); 
    48594819 
    48604820        wp_schedule_single_event(time(), 'do_pings'); 
    48614821} 
     
    49334893        $thumbnail_id = absint( $thumbnail_id ); 
    49344894        if ( $post && $thumbnail_id && get_post( $thumbnail_id ) ) { 
    49354895                if ( $thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'thumbnail' ) ) 
    4936                         return wp_update_post_meta( $post->ID, '_thumbnail_id', $thumbnail_id ); 
     4896                        return update_post_meta( $post->ID, '_thumbnail_id', $thumbnail_id ); 
    49374897                else 
    49384898                        return delete_post_meta( $post->ID, '_thumbnail_id' ); 
    49394899        } 
  • wp-includes/default-widgets.php

     
    413413                if ( current_user_can('unfiltered_html') ) 
    414414                        $instance['text'] =  $new_instance['text']; 
    415415                else 
    416                         $instance['text'] = wp_kses_post( $new_instance['text'] ); 
     416                        $instance['text'] = stripslashes( wp_filter_post_kses( addslashes($new_instance['text']) ) ); // wp_filter_post_kses() expects slashed 
    417417                $instance['filter'] = isset($new_instance['filter']); 
    418418                return $instance; 
    419419        } 
     
    10571057        } 
    10581058 
    10591059        function update( $new_instance, $old_instance ) { 
    1060                 $instance['title'] = strip_tags( $new_instance['title'] ); 
    1061                 $instance['taxonomy'] =  $new_instance['taxonomy']; 
     1060                $instance['title'] = strip_tags(stripslashes($new_instance['title'])); 
     1061                $instance['taxonomy'] = stripslashes($new_instance['taxonomy']); 
    10621062                return $instance; 
    10631063        } 
    10641064 
     
    11191119        } 
    11201120 
    11211121        function update( $new_instance, $old_instance ) { 
    1122                 $instance['title'] = strip_tags( $new_instance['title'] ); 
     1122                $instance['title'] = strip_tags( stripslashes($new_instance['title']) ); 
    11231123                $instance['nav_menu'] = (int) $new_instance['nav_menu']; 
    11241124                return $instance; 
    11251125        } 
  • wp-includes/revision.php

     
    241241                return new WP_Error( 'post_type', __( 'Cannot create a revision of a revision' ) ); 
    242242 
    243243        $post = _wp_post_revision_fields( $post, $autosave ); 
     244        $post = add_magic_quotes($post); //since data is from db 
    244245 
    245246        $revision_id = wp_insert_post( $post ); 
    246247        if ( is_wp_error($revision_id) ) 
     
    319320 
    320321        $update['ID'] = $revision['post_parent']; 
    321322 
     323        $update = add_magic_quotes( $update ); //since data is from db 
     324 
    322325        $post_id = wp_update_post( $update ); 
    323326        if ( is_wp_error( $post_id ) ) 
    324327                return $post_id; 
  • wp-includes/comment.php

     
    633633 */ 
    634634function sanitize_comment_cookies() { 
    635635        if ( isset($_COOKIE['comment_author_'.COOKIEHASH]) ) { 
    636                 $comment_author = wp_unslash( $_COOKIE['comment_author_'.COOKIEHASH] ); 
    637                 $comment_author = apply_filters('pre_comment_author_name', $comment_author); 
     636                $comment_author = apply_filters('pre_comment_author_name', $_COOKIE['comment_author_'.COOKIEHASH]); 
     637                $comment_author = stripslashes($comment_author); 
    638638                $comment_author = esc_attr($comment_author); 
    639639                $_COOKIE['comment_author_'.COOKIEHASH] = $comment_author; 
    640640        } 
    641641 
    642642        if ( isset($_COOKIE['comment_author_email_'.COOKIEHASH]) ) { 
    643                 $comment_author_email = wp_unslash( $_COOKIE['comment_author_email_'.COOKIEHASH] ); 
    644                 $comment_author_email = apply_filters('pre_comment_author_email', $comment_author_email); 
     643                $comment_author_email = apply_filters('pre_comment_author_email', $_COOKIE['comment_author_email_'.COOKIEHASH]); 
     644                $comment_author_email = stripslashes($comment_author_email); 
    645645                $comment_author_email = esc_attr($comment_author_email); 
    646646                $_COOKIE['comment_author_email_'.COOKIEHASH] = $comment_author_email; 
    647647        } 
    648648 
    649649        if ( isset($_COOKIE['comment_author_url_'.COOKIEHASH]) ) { 
    650                 $comment_author_url = wp_unslash( $_COOKIE['comment_author_url_'.COOKIEHASH] ); 
    651                 $comment_author_url = apply_filters('pre_comment_author_url', $comment_author_url); 
     650                $comment_author_url = apply_filters('pre_comment_author_url', $_COOKIE['comment_author_url_'.COOKIEHASH]); 
     651                $comment_author_url = stripslashes($comment_author_url); 
    652652                $_COOKIE['comment_author_url_'.COOKIEHASH] = $comment_author_url; 
    653653        } 
    654654} 
     
    670670        extract($commentdata, EXTR_SKIP); 
    671671 
    672672        // Simple duplicate check 
    673         $dupe = $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_parent = %s AND comment_approved != 'trash' AND ( comment_author = %s ", $comment_post_ID, $comment_parent, $comment_author ); 
     673        // expected_slashed ($comment_post_ID, $comment_author, $comment_author_email, $comment_content) 
     674        $dupe = "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = '$comment_post_ID' AND comment_parent = '$comment_parent' AND comment_approved != 'trash' AND ( comment_author = '$comment_author' "; 
    674675        if ( $comment_author_email ) 
    675                 $dupe .= $wpdb->prepare( "OR comment_author_email = %s ", $comment_author_email ); 
    676         $dupe .= $wpdb->prepare( ") AND comment_content = %s LIMIT 1", $comment_content ); 
     676                $dupe .= "OR comment_author_email = '$comment_author_email' "; 
     677        $dupe .= ") AND comment_content = '$comment_content' LIMIT 1"; 
    677678        if ( $wpdb->get_var($dupe) ) { 
    678679                do_action( 'comment_duplicate_trigger', $commentdata ); 
    679680                if ( defined('DOING_AJAX') ) 
     
    12611262 */ 
    12621263function wp_insert_comment($commentdata) { 
    12631264        global $wpdb; 
    1264         extract($commentdata, EXTR_SKIP); 
     1265        extract(stripslashes_deep($commentdata), EXTR_SKIP); 
    12651266 
    12661267        if ( ! isset($comment_author_IP) ) 
    12671268                $comment_author_IP = ''; 
     
    14901491        // First, get all of the original fields 
    14911492        $comment = get_comment($commentarr['comment_ID'], ARRAY_A); 
    14921493 
     1494        // Escape data pulled from DB. 
     1495        $comment = esc_sql($comment); 
     1496 
    14931497        $old_status = $comment['comment_approved']; 
    14941498 
    14951499        // Merge old and new fields with new fields overwriting old ones. 
     
    14981502        $commentarr = wp_filter_comment( $commentarr ); 
    14991503 
    15001504        // Now extract the merged array. 
    1501         extract($commentarr, EXTR_SKIP); 
     1505        extract(stripslashes_deep($commentarr), EXTR_SKIP); 
    15021506 
    15031507        $comment_content = apply_filters('comment_save_pre', $comment_content); 
    15041508 
  • wp-includes/functions.php

     
    468468                                } 
    469469 
    470470                                if ( in_array( substr( $type, 0, strpos( $type, "/" ) ), $allowed_types ) ) { 
    471                                         wp_add_post_meta( $post_ID, 'enclosure', "$url\n$len\n$mime\n" ); 
     471                                        add_post_meta( $post_ID, 'enclosure', "$url\n$len\n$mime\n" ); 
    472472                                } 
    473473                        } 
    474474                } 
     
    12571257 * @return string Original referer field. 
    12581258 */ 
    12591259function wp_original_referer_field( $echo = true, $jump_back_to = 'current' ) { 
    1260         $jump_back_to = ( 'previous' == $jump_back_to ) ? wp_get_referer() : wp_unslash( $_SERVER['REQUEST_URI'] ); 
     1260        $jump_back_to = ( 'previous' == $jump_back_to ) ? wp_get_referer() : $_SERVER['REQUEST_URI']; 
    12611261        $ref = ( wp_get_original_referer() ) ? wp_get_original_referer() : $jump_back_to; 
    1262         $orig_referer_field = '<input type="hidden" name="_wp_original_http_referer" value="' . esc_attr( $ref ) . '" />'; 
     1262        $orig_referer_field = '<input type="hidden" name="_wp_original_http_referer" value="' . esc_attr( stripslashes( $ref ) ) . '" />'; 
    12631263        if ( $echo ) 
    12641264                echo $orig_referer_field; 
    12651265        return $orig_referer_field; 
     
    12781278function wp_get_referer() { 
    12791279        $ref = false; 
    12801280        if ( ! empty( $_REQUEST['_wp_http_referer'] ) ) 
    1281                 $ref = wp_unslash( $_REQUEST['_wp_http_referer'] ); 
     1281                $ref = $_REQUEST['_wp_http_referer']; 
    12821282        else if ( ! empty( $_SERVER['HTTP_REFERER'] ) ) 
    1283                 $ref = wp_unslash( $_SERVER['HTTP_REFERER'] ); 
     1283                $ref = $_SERVER['HTTP_REFERER']; 
    12841284 
    1285         if ( $ref && $ref !== wp_unslash( $_SERVER['REQUEST_URI'] ) ) 
     1285        if ( $ref && $ref !== $_SERVER['REQUEST_URI'] ) 
    12861286                return $ref; 
    12871287        return false; 
    12881288} 
     
    12981298 */ 
    12991299function wp_get_original_referer() { 
    13001300        if ( !empty( $_REQUEST['_wp_original_http_referer'] ) ) 
    1301                 return wp_unslash( $_REQUEST['_wp_original_http_referer'] ); 
     1301                return $_REQUEST['_wp_original_http_referer']; 
    13021302        return false; 
    13031303} 
    13041304 
  • wp-includes/user.php

     
    13901390        } 
    13911391 
    13921392        $data = compact( 'user_pass', 'user_email', 'user_url', 'user_nicename', 'display_name', 'user_registered' ); 
     1393        $data = stripslashes_deep( $data ); 
    13931394 
    13941395        if ( $update ) { 
    13951396                $wpdb->update( $wpdb->users, $data, compact( 'ID' ) ); 
     
    14611462                $user[ $key ] = get_user_meta( $ID, $key, true ); 
    14621463        } 
    14631464 
     1465        // Escape data pulled from DB. 
     1466        $user = add_magic_quotes( $user ); 
     1467 
    14641468        // If password is changing, hash it now. 
    14651469        if ( ! empty($userdata['user_pass']) ) { 
    14661470                $plaintext_pass = $userdata['user_pass']; 
     
    15001504 * @return int The new user's ID. 
    15011505 */ 
    15021506function wp_create_user($username, $password, $email = '') { 
    1503         $user_login = $username; 
    1504         $user_email = $email; 
     1507        $user_login = esc_sql( $username ); 
     1508        $user_email = esc_sql( $email    ); 
    15051509        $user_pass = $password; 
    15061510 
    15071511        $userdata = compact('user_login', 'user_email', 'user_pass'); 
  • wp-includes/class-wp-xmlrpc-server.php

     
    280280                                $meta['id'] = (int) $meta['id']; 
    281281                                $pmeta = get_metadata_by_mid( 'post', $meta['id'] ); 
    282282                                if ( isset($meta['key']) ) { 
     283                                        $meta['key'] = stripslashes( $meta['key'] ); 
    283284                                        if ( $meta['key'] != $pmeta->meta_key ) 
    284285                                                continue; 
     286                                        $meta['value'] = stripslashes_deep( $meta['value'] ); 
    285287                                        if ( current_user_can( 'edit_post_meta', $post_id, $meta['key'] ) ) 
    286288                                                update_metadata_by_mid( 'post', $meta['id'], $meta['value'] ); 
    287289                                } elseif ( current_user_can( 'delete_post_meta', $post_id, $pmeta->meta_key ) ) { 
    288290                                        delete_metadata_by_mid( 'post', $meta['id'] ); 
    289291                                } 
    290                         } elseif ( current_user_can( 'add_post_meta', $post_id, $meta['key'] ) ) { 
    291                                 wp_add_post_meta( $post_id, $meta['key'], $meta['value'] ); 
     292                        } elseif ( current_user_can( 'add_post_meta', $post_id, stripslashes( $meta['key'] ) ) ) { 
     293                                add_post_meta( $post_id, $meta['key'], $meta['value'] ); 
    292294                        } 
    293295                } 
    294296        } 
     
    460462                        return $this->blogger_getUsersBlogs( $args ); 
    461463                } 
    462464 
     465                $this->escape( $args ); 
     466 
    463467                $username = $args[0]; 
    464468                $password = $args[1]; 
    465469 
     
    951955                if ( ! $this->minimum_args( $args, 4 ) ) 
    952956                        return $this->error; 
    953957 
     958                $this->escape( $args ); 
     959 
    954960                $blog_id        = (int) $args[0]; 
    955961                $username       = $args[1]; 
    956962                $password       = $args[2]; 
     
    12331239                if ( ! $this->minimum_args( $args, 5 ) ) 
    12341240                        return $this->error; 
    12351241 
     1242                $this->escape( $args ); 
     1243 
    12361244                $blog_id        = (int) $args[0]; 
    12371245                $username       = $args[1]; 
    12381246                $password       = $args[2]; 
     
    12661274                else 
    12671275                        $post['post_date_gmt'] = $this->_convert_date( $post['post_date_gmt'] ); 
    12681276 
     1277                $this->escape( $post ); 
    12691278                $merged_content_struct = array_merge( $post, $content_struct ); 
    12701279 
    12711280                $retval = $this->_insert_post( $user, $merged_content_struct ); 
     
    12921301                if ( ! $this->minimum_args( $args, 4 ) ) 
    12931302                        return $this->error; 
    12941303 
     1304                $this->escape( $args ); 
     1305 
    12951306                $blog_id    = (int) $args[0]; 
    12961307                $username   = $args[1]; 
    12971308                $password   = $args[2]; 
     
    13661377                if ( ! $this->minimum_args( $args, 4 ) ) 
    13671378                        return $this->error; 
    13681379 
     1380                $this->escape( $args ); 
     1381 
    13691382                $blog_id            = (int) $args[0]; 
    13701383                $username           = $args[1]; 
    13711384                $password           = $args[2]; 
     
    14211434                if ( ! $this->minimum_args( $args, 3 ) ) 
    14221435                        return $this->error; 
    14231436 
     1437                $this->escape( $args ); 
     1438 
    14241439                $blog_id    = (int) $args[0]; 
    14251440                $username   = $args[1]; 
    14261441                $password   = $args[2]; 
     
    15141529                if ( ! $this->minimum_args( $args, 4 ) ) 
    15151530                        return $this->error; 
    15161531 
     1532                $this->escape( $args ); 
     1533 
    15171534                $blog_id            = (int) $args[0]; 
    15181535                $username           = $args[1]; 
    15191536                $password           = $args[2]; 
     
    15991616                if ( ! $this->minimum_args( $args, 5 ) ) 
    16001617                        return $this->error; 
    16011618 
     1619                $this->escape( $args ); 
     1620 
    16021621                $blog_id            = (int) $args[0]; 
    16031622                $username           = $args[1]; 
    16041623                $password           = $args[2]; 
     
    16891708                if ( ! $this->minimum_args( $args, 5 ) ) 
    16901709                        return $this->error; 
    16911710 
     1711                $this->escape( $args ); 
     1712 
    16921713                $blog_id            = (int) $args[0]; 
    16931714                $username           = $args[1]; 
    16941715                $password           = $args[2]; 
     
    17541775                if ( ! $this->minimum_args( $args, 5 ) ) 
    17551776                        return $this->error; 
    17561777 
     1778                $this->escape( $args ); 
     1779 
    17571780                $blog_id            = (int) $args[0]; 
    17581781                $username           = $args[1]; 
    17591782                $password           = $args[2]; 
     
    18051828                if ( ! $this->minimum_args( $args, 4 ) ) 
    18061829                        return $this->error; 
    18071830 
     1831                $this->escape( $args ); 
     1832 
    18081833                $blog_id        = (int) $args[0]; 
    18091834                $username       = $args[1]; 
    18101835                $password       = $args[2]; 
     
    18781903                if ( ! $this->minimum_args( $args, 4 ) ) 
    18791904                        return $this->error; 
    18801905 
     1906                $this->escape( $args ); 
     1907 
    18811908                $blog_id        = (int) $args[0]; 
    18821909                $username       = $args[1]; 
    18831910                $password       = $args[2]; 
     
    19201947                if ( ! $this->minimum_args( $args, 3 ) ) 
    19211948                        return $this->error; 
    19221949 
     1950                $this->escape( $args ); 
     1951 
    19231952                $blog_id            = (int) $args[0]; 
    19241953                $username           = $args[1]; 
    19251954                $password           = $args[2]; 
     
    19872016                if ( ! $this->minimum_args( $args, 4 ) ) 
    19882017                        return $this->error; 
    19892018 
     2019                $this->escape( $args ); 
     2020 
    19902021                $blog_id    = (int) $args[0]; 
    19912022                $username   = $args[1]; 
    19922023                $password   = $args[2]; 
     
    20382069                if ( ! $this->minimum_args( $args, 3 ) ) 
    20392070                        return $this->error; 
    20402071 
     2072                $this->escape( $args ); 
     2073 
    20412074                $blog_id    = (int) $args[0]; 
    20422075                $username   = $args[1]; 
    20432076                $password   = $args[2]; 
     
    21042137                if ( ! $this->minimum_args( $args, 3 ) ) 
    21052138                        return $this->error; 
    21062139 
     2140                $this->escape( $args ); 
     2141 
    21072142                $blog_id    = (int) $args[0]; 
    21082143                $username   = $args[1]; 
    21092144                $password   = $args[2]; 
     
    21492184                if ( ! $this->minimum_args( $args, 4 ) ) 
    21502185                        return $this->error; 
    21512186 
     2187                $this->escape( $args ); 
     2188 
    21522189                $blog_id        = (int) $args[0]; 
    21532190                $username       = $args[1]; 
    21542191                $password       = $args[2]; 
     
    22122249         * @return array 
    22132250         */ 
    22142251        function wp_getPage($args) { 
     2252                $this->escape($args); 
     2253 
    22152254                $blog_id        = (int) $args[0]; 
    22162255                $page_id        = (int) $args[1]; 
    22172256                $username       = $args[2]; 
     
    22532292         * @return array 
    22542293         */ 
    22552294        function wp_getPages($args) { 
     2295                $this->escape($args); 
     2296 
    22562297                $blog_id        = (int) $args[0]; 
    22572298                $username       = $args[1]; 
    22582299                $password       = $args[2]; 
     
    22952336         * @return unknown 
    22962337         */ 
    22972338        function wp_newPage($args) { 
    2298                 $username       = $args[1]; 
    2299                 $password       = $args[2]; 
     2339                // Items not escaped here will be escaped in newPost. 
     2340                $username       = $this->escape($args[1]); 
     2341                $password       = $this->escape($args[2]); 
    23002342                $page           = $args[3]; 
    23012343                $publish        = $args[4]; 
    23022344 
     
    23212363         * @return bool True, if success. 
    23222364         */ 
    23232365        function wp_deletePage($args) { 
     2366                $this->escape($args); 
     2367 
    23242368                $blog_id        = (int) $args[0]; 
    23252369                $username       = $args[1]; 
    23262370                $password       = $args[2]; 
     
    23602404         * @return unknown 
    23612405         */ 
    23622406        function wp_editPage($args) { 
     2407                // Items not escaped here will be escaped in editPost. 
    23632408                $blog_id        = (int) $args[0]; 
    2364                 $page_id        = (int) $args[1]; 
    2365                 $username       = $args[2]; 
    2366                 $password       = $args[3]; 
     2409                $page_id        = (int) $this->escape($args[1]); 
     2410                $username       = $this->escape($args[2]); 
     2411                $password       = $this->escape($args[3]); 
    23672412                $content        = $args[4]; 
    23682413                $publish        = $args[5]; 
    23692414 
     
    24082453        function wp_getPageList($args) { 
    24092454                global $wpdb; 
    24102455 
     2456                $this->escape($args); 
     2457 
    24112458                $blog_id                                = (int) $args[0]; 
    24122459                $username                               = $args[1]; 
    24132460                $password                               = $args[2]; 
     
    24562503         * @return array 
    24572504         */ 
    24582505        function wp_getAuthors($args) { 
     2506 
     2507                $this->escape($args); 
     2508 
    24592509                $blog_id        = (int) $args[0]; 
    24602510                $username       = $args[1]; 
    24612511                $password       = $args[2]; 
     
    24892539         * @return array 
    24902540         */ 
    24912541        function wp_getTags( $args ) { 
     2542                $this->escape( $args ); 
     2543 
    24922544                $blog_id                = (int) $args[0]; 
    24932545                $username               = $args[1]; 
    24942546                $password               = $args[2]; 
     
    25282580         * @return int Category ID. 
    25292581         */ 
    25302582        function wp_newCategory($args) { 
     2583                $this->escape($args); 
     2584 
    25312585                $blog_id                                = (int) $args[0]; 
    25322586                $username                               = $args[1]; 
    25332587                $password                               = $args[2]; 
     
    25872641         * @return mixed See {@link wp_delete_term()} for return info. 
    25882642         */ 
    25892643        function wp_deleteCategory($args) { 
     2644                $this->escape($args); 
     2645 
    25902646                $blog_id                = (int) $args[0]; 
    25912647                $username               = $args[1]; 
    25922648                $password               = $args[2]; 
     
    26172673         * @return array 
    26182674         */ 
    26192675        function wp_suggestCategories($args) { 
     2676                $this->escape($args); 
     2677 
    26202678                $blog_id                                = (int) $args[0]; 
    26212679                $username                               = $args[1]; 
    26222680                $password                               = $args[2]; 
     
    26522710         * @return array 
    26532711         */ 
    26542712        function wp_getComment($args) { 
     2713                $this->escape($args); 
     2714 
    26552715                $blog_id        = (int) $args[0]; 
    26562716                $username       = $args[1]; 
    26572717                $password       = $args[2]; 
     
    26912751         * @return array. Contains a collection of comments. See {@link wp_xmlrpc_server::wp_getComment()} for a description of each item contents 
    26922752         */ 
    26932753        function wp_getComments($args) { 
     2754                $this->escape($args); 
     2755 
    26942756                $blog_id        = (int) $args[0]; 
    26952757                $username       = $args[1]; 
    26962758                $password       = $args[2]; 
     
    27492811         * @return mixed {@link wp_delete_comment()} 
    27502812         */ 
    27512813        function wp_deleteComment($args) { 
     2814                $this->escape($args); 
     2815 
    27522816                $blog_id        = (int) $args[0]; 
    27532817                $username       = $args[1]; 
    27542818                $password       = $args[2]; 
     
    28012865         * @return bool True, on success. 
    28022866         */ 
    28032867        function wp_editComment($args) { 
     2868                $this->escape($args); 
     2869 
    28042870                $blog_id        = (int) $args[0]; 
    28052871                $username       = $args[1]; 
    28062872                $password       = $args[2]; 
     
    28762942        function wp_newComment($args) { 
    28772943                global $wpdb; 
    28782944 
     2945                $this->escape($args); 
     2946 
    28792947                $blog_id        = (int) $args[0]; 
    28802948                $username       = $args[1]; 
    28812949                $password       = $args[2]; 
     
    29102978                $comment['comment_post_ID'] = $post_id; 
    29112979 
    29122980                if ( $logged_in ) { 
    2913                         $comment['comment_author'] = $user->display_name; 
    2914                         $comment['comment_author_email'] = $user->user_email; 
    2915                         $comment['comment_author_url'] = $user->user_url; 
     2981                        $comment['comment_author'] = $wpdb->escape( $user->display_name ); 
     2982                        $comment['comment_author_email'] = $wpdb->escape( $user->user_email ); 
     2983                        $comment['comment_author_url'] = $wpdb->escape( $user->user_url ); 
    29162984                        $comment['user_ID'] = $user->ID; 
    29172985                } else { 
    29182986                        $comment['comment_author'] = ''; 
     
    29593027         * @return array 
    29603028         */ 
    29613029        function wp_getCommentStatusList($args) { 
     3030                $this->escape( $args ); 
     3031 
    29623032                $blog_id        = (int) $args[0]; 
    29633033                $username       = $args[1]; 
    29643034                $password       = $args[2]; 
     
    29833053         * @return array 
    29843054         */ 
    29853055        function wp_getCommentCount( $args ) { 
     3056                $this->escape($args); 
     3057 
    29863058                $blog_id        = (int) $args[0]; 
    29873059                $username       = $args[1]; 
    29883060                $password       = $args[2]; 
     
    30143086         * @return array 
    30153087         */ 
    30163088        function wp_getPostStatusList( $args ) { 
     3089                $this->escape( $args ); 
     3090 
    30173091                $blog_id        = (int) $args[0]; 
    30183092                $username       = $args[1]; 
    30193093                $password       = $args[2]; 
     
    30383112         * @return array 
    30393113         */ 
    30403114        function wp_getPageStatusList( $args ) { 
     3115                $this->escape( $args ); 
     3116 
    30413117                $blog_id        = (int) $args[0]; 
    30423118                $username       = $args[1]; 
    30433119                $password       = $args[2]; 
     
    30623138         * @return array 
    30633139         */ 
    30643140        function wp_getPageTemplates( $args ) { 
     3141                $this->escape( $args ); 
     3142 
    30653143                $blog_id        = (int) $args[0]; 
    30663144                $username       = $args[1]; 
    30673145                $password       = $args[2]; 
     
    30873165         * @return array 
    30883166         */ 
    30893167        function wp_getOptions( $args ) { 
     3168                $this->escape( $args ); 
     3169 
    30903170                $blog_id        = (int) $args[0]; 
    30913171                $username       = $args[1]; 
    30923172                $password       = $args[2]; 
     
    31353215         * @return unknown 
    31363216         */ 
    31373217        function wp_setOptions( $args ) { 
     3218                $this->escape( $args ); 
     3219 
    31383220                $blog_id        = (int) $args[0]; 
    31393221                $username       = $args[1]; 
    31403222                $password       = $args[2]; 
     
    31823264         *  - 'metadata' 
    31833265         */ 
    31843266        function wp_getMediaItem($args) { 
     3267                $this->escape($args); 
     3268 
    31853269                $blog_id                = (int) $args[0]; 
    31863270                $username               = $args[1]; 
    31873271                $password               = $args[2]; 
     
    32253309         * @return array. Contains a collection of media items. See {@link wp_xmlrpc_server::wp_getMediaItem()} for a description of each item contents 
    32263310         */ 
    32273311        function wp_getMediaLibrary($args) { 
     3312                $this->escape($args); 
     3313 
    32283314                $blog_id        = (int) $args[0]; 
    32293315                $username       = $args[1]; 
    32303316                $password       = $args[2]; 
     
    32653351          * @return array 
    32663352          */ 
    32673353        function wp_getPostFormats( $args ) { 
     3354                $this->escape( $args ); 
     3355 
    32683356                $blog_id = (int) $args[0]; 
    32693357                $username = $args[1]; 
    32703358                $password = $args[2]; 
     
    33233411                if ( ! $this->minimum_args( $args, 4 ) ) 
    33243412                        return $this->error; 
    33253413 
     3414                $this->escape( $args ); 
     3415 
    33263416                $blog_id        = (int) $args[0]; 
    33273417                $username       = $args[1]; 
    33283418                $password       = $args[2]; 
     
    33673457                if ( ! $this->minimum_args( $args, 3 ) ) 
    33683458                        return $this->error; 
    33693459 
     3460                $this->escape( $args ); 
     3461 
    33703462                $blog_id            = (int) $args[0]; 
    33713463                $username           = $args[1]; 
    33723464                $password           = $args[2]; 
     
    34193511                if ( ! $this->minimum_args( $args, 4 ) ) 
    34203512                        return $this->error; 
    34213513 
     3514                $this->escape( $args ); 
     3515 
    34223516                $blog_id    = (int) $args[0]; 
    34233517                $username   = $args[1]; 
    34243518                $password   = $args[2]; 
     
    34833577                if ( ! $this->minimum_args( $args, 3 ) ) 
    34843578                        return $this->error; 
    34853579 
     3580                $this->escape( $args ); 
     3581 
    34863582                $blog_id     = (int) $args[0]; 
    34873583                $username    = $args[1]; 
    34883584                $password    = $args[2]; 
     
    35323628                if ( is_multisite() ) 
    35333629                        return $this->_multisite_getUsersBlogs($args); 
    35343630 
     3631                $this->escape($args); 
     3632 
    35353633                $username = $args[1]; 
    35363634                $password  = $args[2]; 
    35373635 
     
    35933691         * @return array 
    35943692         */ 
    35953693        function blogger_getUserInfo($args) { 
     3694 
     3695                $this->escape($args); 
     3696 
    35963697                $username = $args[1]; 
    35973698                $password  = $args[2]; 
    35983699 
     
    36243725         * @return array 
    36253726         */ 
    36263727        function blogger_getPost($args) { 
     3728 
     3729                $this->escape($args); 
     3730 
    36273731                $post_ID    = (int) $args[1]; 
    36283732                $username = $args[2]; 
    36293733                $password  = $args[3]; 
     
    36423746 
    36433747                $categories = implode(',', wp_get_post_categories($post_ID)); 
    36443748 
    3645                 $content  = '<title>'.$post_data['post_title'].'</title>'; 
     3749                $content  = '<title>'.stripslashes($post_data['post_title']).'</title>'; 
    36463750                $content .= '<category>'.$categories.'</category>'; 
    3647                 $content .= $post_data['post_content']; 
     3751                $content .= stripslashes($post_data['post_content']); 
    36483752 
    36493753                $struct = array( 
    36503754                        'userid'    => $post_data['post_author'], 
     
    36653769         * @return array 
    36663770         */ 
    36673771        function blogger_getRecentPosts($args) { 
     3772 
     3773                $this->escape($args); 
     3774 
    36683775                // $args[0] = appkey - ignored 
    36693776                $blog_ID    = (int) $args[1]; /* though we don't use it yet */ 
    36703777                $username = $args[2]; 
     
    36933800                        $post_date  = $this->_convert_date( $entry['post_date'] ); 
    36943801                        $categories = implode(',', wp_get_post_categories($entry['ID'])); 
    36953802 
    3696                         $content  = '<title>'.$entry['post_title'].'</title>'; 
     3803                        $content  = '<title>'.stripslashes($entry['post_title']).'</title>'; 
    36973804                        $content .= '<category>'.$categories.'</category>'; 
    3698                         $content .= $entry['post_content']; 
     3805                        $content .= stripslashes($entry['post_content']); 
    36993806 
    37003807                        $struct[] = array( 
    37013808                                'userid' => $entry['post_author'], 
     
    37433850         * @return int 
    37443851         */ 
    37453852        function blogger_newPost($args) { 
     3853 
     3854                $this->escape($args); 
     3855 
    37463856                $blog_ID    = (int) $args[1]; /* though we don't use it yet */ 
    37473857                $username = $args[2]; 
    37483858                $password  = $args[3]; 
     
    37943904         * @return bool true when done. 
    37953905         */ 
    37963906        function blogger_editPost($args) { 
     3907 
     3908                $this->escape($args); 
     3909 
    37973910                $post_ID     = (int) $args[1]; 
    37983911                $username  = $args[2]; 
    37993912                $password   = $args[3]; 
     
    38103923                if ( !$actual_post || $actual_post['post_type'] != 'post' ) 
    38113924                        return new IXR_Error(404, __('Sorry, no such post.')); 
    38123925 
     3926                $this->escape($actual_post); 
     3927 
    38133928                if ( !current_user_can('edit_post', $post_ID) ) 
    38143929                        return new IXR_Error(401, __('Sorry, you do not have the right to edit this post.')); 
    38153930 
     
    38453960         * @return bool True when post is deleted. 
    38463961         */ 
    38473962        function blogger_deletePost($args) { 
     3963                $this->escape($args); 
     3964 
    38483965                $post_ID     = (int) $args[1]; 
    38493966                $username  = $args[2]; 
    38503967                $password   = $args[3]; 
     
    39134030         * @return int 
    39144031         */ 
    39154032        function mw_newPost($args) { 
    3916                 $blog_ID        = (int) $args[0]; 
    3917                 $username       = $args[1]; 
    3918                 $password       = $args[2]; 
     4033                $this->escape($args); 
     4034 
     4035                $blog_ID     = (int) $args[0]; 
     4036                $username  = $args[1]; 
     4037                $password   = $args[2]; 
    39194038                $content_struct = $args[3]; 
    3920                 $publish        = isset( $args[4] ) ? $args[4] : 0; 
     4039                $publish     = isset( $args[4] ) ? $args[4] : 0; 
    39214040 
    39224041                if ( !$user = $this->login($username, $password) ) 
    39234042                        return $this->error; 
     
    41974316                                } 
    41984317                        } 
    41994318                        if (!$found) 
    4200                                 wp_add_post_meta( $post_ID, 'enclosure', $encstring ); 
     4319                                add_post_meta( $post_ID, 'enclosure', $encstring ); 
    42014320                } 
    42024321        } 
    42034322 
     
    42314350         * @return bool True on success. 
    42324351         */ 
    42334352        function mw_editPost($args) { 
     4353 
     4354                $this->escape($args); 
     4355 
    42344356                $post_ID        = (int) $args[0]; 
    42354357                $username       = $args[1]; 
    42364358                $password       = $args[2]; 
     
    42694391                        } 
    42704392                } 
    42714393 
     4394                $this->escape($postdata); 
    42724395                extract($postdata, EXTR_SKIP); 
    42734396 
    42744397                // Let WordPress manage slug if none was provided. 
     
    44964619         * @return array 
    44974620         */ 
    44984621        function mw_getPost($args) { 
     4622 
     4623                $this->escape($args); 
     4624 
    44994625                $post_ID     = (int) $args[0]; 
    45004626                $username  = $args[1]; 
    45014627                $password   = $args[2]; 
     
    46174743         * @return array 
    46184744         */ 
    46194745        function mw_getRecentPosts($args) { 
     4746 
     4747                $this->escape($args); 
     4748 
    46204749                $blog_ID     = (int) $args[0]; 
    46214750                $username  = $args[1]; 
    46224751                $password   = $args[2]; 
     
    47294858         * @return array 
    47304859         */ 
    47314860        function mw_getCategories($args) { 
     4861 
     4862                $this->escape($args); 
     4863 
    47324864                $blog_ID     = (int) $args[0]; 
    47334865                $username  = $args[1]; 
    47344866                $password   = $args[2]; 
     
    47754907        function mw_newMediaObject($args) { 
    47764908                global $wpdb; 
    47774909 
    4778                 $blog_ID   = (int) $args[0]; 
    4779                 $username  = $args[1]; 
    4780                 $password  = $args[2]; 
    4781                 $data      = $args[3]; 
     4910                $blog_ID     = (int) $args[0]; 
     4911                $username  = $wpdb->escape($args[1]); 
     4912                $password   = $wpdb->escape($args[2]); 
     4913                $data        = $args[3]; 
    47824914 
    47834915                $name = sanitize_file_name( $data['name'] ); 
    47844916                $type = $data['type']; 
     
    48654997         * @return array 
    48664998         */ 
    48674999        function mt_getRecentPostTitles($args) { 
     5000 
     5001                $this->escape($args); 
     5002 
    48685003                $blog_ID     = (int) $args[0]; 
    48695004                $username  = $args[1]; 
    48705005                $password   = $args[2]; 
     
    49225057         * @return array 
    49235058         */ 
    49245059        function mt_getCategoryList($args) { 
     5060 
     5061                $this->escape($args); 
     5062 
    49255063                $blog_ID     = (int) $args[0]; 
    49265064                $username  = $args[1]; 
    49275065                $password   = $args[2]; 
     
    49575095         * @return array 
    49585096         */ 
    49595097        function mt_getPostCategories($args) { 
     5098 
     5099                $this->escape($args); 
     5100 
    49605101                $post_ID     = (int) $args[0]; 
    49615102                $username  = $args[1]; 
    49625103                $password   = $args[2]; 
     
    49975138         * @return bool True on success. 
    49985139         */ 
    49995140        function mt_setPostCategories($args) { 
     5141 
     5142                $this->escape($args); 
     5143 
    50005144                $post_ID     = (int) $args[0]; 
    50015145                $username  = $args[1]; 
    50025146                $password   = $args[2]; 
     
    51065250         * @return int 
    51075251         */ 
    51085252        function mt_publishPost($args) { 
     5253 
     5254                $this->escape($args); 
     5255 
    51095256                $post_ID     = (int) $args[0]; 
    51105257                $username  = $args[1]; 
    51115258                $password   = $args[2]; 
     
    51275274                // retain old cats 
    51285275                $cats = wp_get_post_categories($post_ID); 
    51295276                $postdata['post_category'] = $cats; 
     5277                $this->escape($postdata); 
    51305278 
    51315279                $result = wp_update_post($postdata); 
    51325280 
     
    51505298 
    51515299                do_action('xmlrpc_call', 'pingback.ping'); 
    51525300 
     5301                $this->escape($args); 
     5302 
    51535303                $pagelinkedfrom = $args[0]; 
    51545304                $pagelinkedto   = $args[1]; 
    51555305 
     
    52855435                $pagelinkedfrom = str_replace('&', '&amp;', $pagelinkedfrom); 
    52865436 
    52875437                $context = '[...] ' . esc_html( $excerpt ) . ' [...]'; 
    5288                 $pagelinkedfrom = $pagelinkedfrom; 
     5438                $pagelinkedfrom = $wpdb->escape( $pagelinkedfrom ); 
    52895439 
    52905440                $comment_post_ID = (int) $post_ID; 
    52915441                $comment_author = $title; 
    52925442                $comment_author_email = ''; 
    5293                 $comment_author; 
     5443                $this->escape($comment_author); 
    52945444                $comment_author_url = $pagelinkedfrom; 
    52955445                $comment_content = $context; 
    5296                 $comment_content; 
     5446                $this->escape($comment_content); 
    52975447                $comment_type = 'pingback'; 
    52985448 
    52995449                $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_author_email', 'comment_content', 'comment_type'); 
     
    53155465         * @return array 
    53165466         */ 
    53175467        function pingback_extensions_getPingbacks($args) { 
     5468 
    53185469                global $wpdb; 
    53195470 
    53205471                do_action('xmlrpc_call', 'pingback.extensions.getPingbacks'); 
    53215472 
     5473                $this->escape($args); 
     5474 
    53225475                $url = $args; 
    53235476 
    53245477                $post_ID = url_to_postid($url); 
  • wp-includes/query.php

     
    17331733                // Category stuff 
    17341734                if ( !empty($q['cat']) && '0' != $q['cat'] && !$this->is_singular && $this->query_vars_changed ) { 
    17351735                        $q['cat'] = ''.urldecode($q['cat']).''; 
     1736                        $q['cat'] = addslashes_gpc($q['cat']); 
    17361737                        $cat_array = preg_split('/[,\s]+/', $q['cat']); 
    17371738                        $q['cat'] = ''; 
    17381739                        $req_cats = array(); 
     
    21862187 
    21872188                // If a search pattern is specified, load the posts that match 
    21882189                if ( !empty($q['s']) ) { 
     2190                        // added slashes screw with quote grouping when done early, so done later 
     2191                        $q['s'] = stripslashes($q['s']); 
    21892192                        if ( empty( $_GET['s'] ) && $this->is_main_query() ) 
    21902193                                $q['s'] = urldecode($q['s']); 
    21912194                        if ( !empty($q['sentence']) ) { 
     
    22942297                        $whichauthor = ''; 
    22952298                } else { 
    22962299                        $q['author'] = (string)urldecode($q['author']); 
     2300                        $q['author'] = addslashes_gpc($q['author']); 
    22972301                        if ( strpos($q['author'], '-') !== false ) { 
    22982302                                $eq = '!='; 
    22992303                                $andor = 'AND'; 
     
    23572361                                $allowed_keys[] = 'meta_value_num'; 
    23582362                        } 
    23592363                        $q['orderby'] = urldecode($q['orderby']); 
     2364                        $q['orderby'] = addslashes_gpc($q['orderby']); 
    23602365 
    23612366                        $orderby_array = array(); 
    23622367                        foreach ( explode( ' ', $q['orderby'] ) as $i => $orderby ) { 
  • wp-includes/link-template.php

     
    746746        if ( empty($query) ) 
    747747                $search = get_search_query( false ); 
    748748        else 
    749                 $search = $query; 
     749                $search = stripslashes($query); 
    750750 
    751751        $permastruct = $wp_rewrite->get_search_permastruct(); 
    752752 
  • wp-includes/formatting.php

     
    17161716 * @return string Converted content. 
    17171717 */ 
    17181718function wp_rel_nofollow( $text ) { 
     1719        // This is a pre save filter, so text is already escaped. 
     1720        $text = stripslashes($text); 
    17191721        $text = preg_replace_callback('|<a (.+?)>|i', 'wp_rel_nofollow_callback', $text); 
     1722        $text = esc_sql($text); 
    17201723        return $text; 
    17211724} 
    17221725 
     
    33393342        $urls_to_ping = implode( "\n", $urls_to_ping ); 
    33403343        return apply_filters( 'sanitize_trackback_urls', $urls_to_ping, $to_ping ); 
    33413344} 
    3342  
    3343 /** 
    3344  * Conditionally add slashes to a string or array of strings. When GPCS 
    3345  * slashing is turned on, slashes are added. When GPCS slashing is turned off, 
    3346  * slashes are not added. 
    3347  * 
    3348  * This should be used when preparing data for core API that deal directly with GPCS data. 
    3349  * Outside of unit tests, this should be rare. At a future date GPCS will no longer 
    3350  * be slashed and this function will noop. Do not use it in situations where adding slashes 
    3351  * is always required regardless of whether GPCS is slashed. 
    3352  * 
    3353  * @since 3.6.0 
    3354  * 
    3355  * @param string|array $value String or array of strings to slash. 
    3356  * @return string|array Slashed $value 
    3357  */ 
    3358 function wp_slash( $value ) { 
    3359         if ( is_array( $value ) ) { 
    3360                 foreach ( $value as $k => $v ) { 
    3361                         if ( is_array( $v ) ) { 
    3362                                 $value[$k] = wp_slash( $v ); 
    3363                         } else { 
    3364                                 $value[$k] = addslashes( $v ); 
    3365                         } 
    3366                 } 
    3367         } else { 
    3368                 $value = addslashes( $value ); 
    3369         } 
    3370  
    3371         return $value; 
    3372 } 
    3373  
    3374 /** 
    3375  * Conditionally removes slashes from a string or array of strings. When GPCS 
    3376  * slashing is turned on, slashes are stripped. When GPCS slashing is turned off, 
    3377  * slashes are not stripped. 
    3378  * 
    3379  * This should be used for GPCS data before passing it along to core API. At a future 
    3380  * date GPCS will no longer be slashed and this function will noop. Do not use it 
    3381  * in situations where slash stripping is always required regardless of whether GPCS 
    3382  * is slashed. 
    3383  * 
    3384  * @since 3.6.0 
    3385  * 
    3386  * @param string|array $value String or array of strings to unslash. 
    3387  * @return string|array Unslashed $value 
    3388  */ 
    3389 function wp_unslash( $value ) { 
    3390         return stripslashes_deep( $value ); 
    3391 } 
  • wp-includes/class-wp.php

     
    142142                        $this->did_permalink = true; 
    143143 
    144144                        if ( isset($_SERVER['PATH_INFO']) ) 
    145                                 $pathinfo = wp_unslash( $_SERVER['PATH_INFO'] ); 
     145                                $pathinfo = $_SERVER['PATH_INFO']; 
    146146                        else 
    147147                                $pathinfo = ''; 
    148148                        $pathinfo_array = explode('?', $pathinfo); 
    149149                        $pathinfo = str_replace("%", "%25", $pathinfo_array[0]); 
    150                         $req_uri = wp_unslash( $_SERVER['REQUEST_URI'] ); 
     150                        $req_uri = $_SERVER['REQUEST_URI']; 
    151151                        $req_uri_array = explode('?', $req_uri); 
    152152                        $req_uri = $req_uri_array[0]; 
    153                         $self = wp_unslash( $_SERVER['PHP_SELF'] ); 
     153                        $self = $_SERVER['PHP_SELF']; 
    154154                        $home_path = parse_url(home_url()); 
    155155                        if ( isset($home_path['path']) ) 
    156156                                $home_path = $home_path['path']; 
     
    255255                        if ( isset( $this->extra_query_vars[$wpvar] ) ) 
    256256                                $this->query_vars[$wpvar] = $this->extra_query_vars[$wpvar]; 
    257257                        elseif ( isset( $_POST[$wpvar] ) ) 
    258                                 $this->query_vars[$wpvar] = wp_unslash( $_POST[$wpvar] ); 
     258                                $this->query_vars[$wpvar] = $_POST[$wpvar]; 
    259259                        elseif ( isset( $_GET[$wpvar] ) ) 
    260                                 $this->query_vars[$wpvar] = wp_unslash( $_GET[$wpvar] ); 
     260                                $this->query_vars[$wpvar] = $_GET[$wpvar]; 
    261261                        elseif ( isset( $perma_query_vars[$wpvar] ) ) 
    262262                                $this->query_vars[$wpvar] = $perma_query_vars[$wpvar]; 
    263263 
     
    356356 
    357357                        // Support for Conditional GET 
    358358                        if (isset($_SERVER['HTTP_IF_NONE_MATCH'])) 
    359                                 $client_etag = stripslashes( wp_unslash( $_SERVER['HTTP_IF_NONE_MATCH'] ) ); // Retain extra strip. See #2597 
     359                                $client_etag = stripslashes(stripslashes($_SERVER['HTTP_IF_NONE_MATCH'])); 
    360360                        else $client_etag = false; 
    361361 
    362362                        $client_last_modified = empty($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? '' : trim($_SERVER['HTTP_IF_MODIFIED_SINCE']); 
  • wp-includes/deprecated.php

     
    23832383 
    23842384        /** @todo Might need fix because usermeta data is assumed to be already escaped */ 
    23852385        if ( is_string($meta_value) ) 
    2386                 $meta_value = $meta_value; 
     2386                $meta_value = stripslashes($meta_value); 
    23872387        $meta_value = maybe_serialize($meta_value); 
    23882388 
    23892389        if (empty($meta_value)) { 
  • wp-includes/cron.php

     
    230230                set_transient( 'doing_cron', $doing_wp_cron ); 
    231231 
    232232                ob_start(); 
    233                 wp_redirect( add_query_arg( 'doing_wp_cron', $doing_wp_cron, wp_unslash( $_SERVER['REQUEST_URI'] ) ) ); 
     233                wp_redirect( add_query_arg('doing_wp_cron', $doing_wp_cron, stripslashes($_SERVER['REQUEST_URI'])) ); 
    234234                echo ' '; 
    235235 
    236236                // flush any buffers and send the headers 
  • wp-includes/pluggable.php

     
    782782        // The cookie is no good so force login 
    783783        nocache_headers(); 
    784784 
    785         $redirect = ( strpos( $_SERVER['REQUEST_URI'], '/options.php' ) && wp_get_referer() ) ? wp_get_referer() : set_url_scheme( 'http://' . wp_unslash( $_SERVER['HTTP_HOST'] ) . wp_unslash( $_SERVER['REQUEST_URI'] ) ); 
     785        $redirect = ( strpos( $_SERVER['REQUEST_URI'], '/options.php' ) && wp_get_referer() ) ? wp_get_referer() : set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); 
    786786 
    787787        $login_url = wp_login_url($redirect, true); 
    788788 
     
    11971197function wp_new_user_notification($user_id, $plaintext_pass = '') { 
    11981198        $user = get_userdata( $user_id ); 
    11991199 
    1200         $user_login = $user->user_login; 
    1201         $user_email = $user->user_email; 
     1200        $user_login = stripslashes($user->user_login); 
     1201        $user_email = stripslashes($user->user_email); 
    12021202 
    12031203        // The blogname option is escaped with esc_html on the way into the database in sanitize_option 
    12041204        // we want to reverse this for the plain text arena of emails. 
  • wp-includes/feed.php

     
    488488 */ 
    489489function self_link() { 
    490490        $host = @parse_url(home_url()); 
    491         echo esc_url( apply_filters( 'self_link', set_url_scheme( 'http://' . $host['host'] . wp_unslash( $_SERVER['REQUEST_URI'] ) ) ) ); 
     491        echo esc_url( apply_filters( 'self_link', set_url_scheme( 'http://' . $host['host'] . stripslashes( $_SERVER['REQUEST_URI'] ) ) ) ); 
    492492} 
    493493 
    494494/** 
  • wp-includes/kses.php

     
    13261326 */ 
    13271327function kses_init_filters() { 
    13281328        // Normal filtering 
    1329         add_filter('title_save_pre', 'wp_kses_data'); 
     1329        add_filter('title_save_pre', 'wp_filter_kses'); 
    13301330 
    13311331        // Comment filtering 
    13321332        if ( current_user_can( 'unfiltered_html' ) ) 
    1333                 add_filter( 'pre_comment_content', 'wp_kses_post' ); 
     1333                add_filter( 'pre_comment_content', 'wp_filter_post_kses' ); 
    13341334        else 
    1335                 add_filter( 'pre_comment_content', 'wp_kses_data' ); 
     1335                add_filter( 'pre_comment_content', 'wp_filter_kses' ); 
    13361336 
    13371337        // Post filtering 
    1338         add_filter('content_save_pre', 'wp_kses_post'); 
    1339         add_filter('excerpt_save_pre', 'wp_kses_post'); 
    1340         add_filter('content_filtered_save_pre', 'wp_kses_post'); 
     1338        add_filter('content_save_pre', 'wp_filter_post_kses'); 
     1339        add_filter('excerpt_save_pre', 'wp_filter_post_kses'); 
     1340        add_filter('content_filtered_save_pre', 'wp_filter_post_kses'); 
    13411341} 
    13421342 
    13431343/** 
     
    13541354 */ 
    13551355function kses_remove_filters() { 
    13561356        // Normal filtering 
    1357         remove_filter('title_save_pre', 'wp_kses_data'); 
     1357        remove_filter('title_save_pre', 'wp_filter_kses'); 
    13581358 
    13591359        // Comment filtering 
    1360         remove_filter( 'pre_comment_content', 'wp_kses_post' ); 
    1361         remove_filter( 'pre_comment_content', 'wp_kses_data' ); 
     1360        remove_filter( 'pre_comment_content', 'wp_filter_post_kses' ); 
     1361        remove_filter( 'pre_comment_content', 'wp_filter_kses' ); 
    13621362 
    13631363        // Post filtering 
    1364         remove_filter('content_save_pre', 'wp_kses_post'); 
    1365         remove_filter('excerpt_save_pre', 'wp_kses_post'); 
    1366         remove_filter('content_filtered_save_pre', 'wp_kses_post'); 
     1364        remove_filter('content_save_pre', 'wp_filter_post_kses'); 
     1365        remove_filter('excerpt_save_pre', 'wp_filter_post_kses'); 
     1366        remove_filter('content_filtered_save_pre', 'wp_filter_post_kses'); 
    13671367} 
    13681368 
    13691369/** 
  • wp-includes/widgets.php

     
    224224                        } 
    225225 
    226226                        foreach ( $settings as $number => $new_instance ) { 
    227                                 $new_instance = wp_unslash($new_instance); 
     227                                $new_instance = stripslashes_deep($new_instance); 
    228228                                $this->_set($number); 
    229229 
    230230                                $old_instance = isset($all_instances[$number]) ? $all_instances[$number] : array(); 
  • wp-includes/class-wp-customize-setting.php

     
    144144         * @return mixed Null if an input isn't valid, otherwise the sanitized value. 
    145145         */ 
    146146        public function sanitize( $value ) { 
    147                 $value = wp_unslash( $value ); 
     147                $value = stripslashes_deep( $value ); 
    148148                return apply_filters( "customize_sanitize_{$this->id}", $value, $this ); 
    149149        } 
    150150 
  • wp-includes/ms-functions.php

     
    279279 * @return int The ID of the newly created blog 
    280280 */ 
    281281function create_empty_blog( $domain, $path, $weblog_title, $site_id = 1 ) { 
     282        $domain                 = addslashes( $domain ); 
     283        $weblog_title   = addslashes( $weblog_title ); 
     284 
    282285        if ( empty($path) ) 
    283286                $path = '/'; 
    284287 
     
    579582 
    580583        $blogname = apply_filters( 'newblogname', $blogname ); 
    581584 
    582         $blog_title = $blog_title; 
     585        $blog_title = stripslashes(  $blog_title ); 
    583586 
    584587        if ( empty( $blog_title ) ) 
    585588                $errors->add('blog_title', __( 'Please enter a site title.' ) ); 
     
    632635        global $wpdb; 
    633636 
    634637        $key = substr( md5( time() . rand() . $domain ), 0, 16 ); 
    635         $meta = serialize( $meta ); 
     638        $meta = serialize($meta); 
     639        $domain = $wpdb->escape($domain); 
     640        $path = $wpdb->escape($path); 
     641        $title = $wpdb->escape($title); 
    636642 
    637643        $wpdb->insert( $wpdb->signups, array( 
    638644                'domain' => $domain, 
     
    645651                'meta' => $meta 
    646652        ) ); 
    647653 
    648         wpmu_signup_blog_notification( $domain, $path, $title, $user, $user_email, $key, $meta ); 
     654        wpmu_signup_blog_notification($domain, $path, $title, $user, $user_email, $key, $meta); 
    649655} 
    650656 
    651657/** 
     
    834840        } 
    835841 
    836842        $meta = maybe_unserialize($signup->meta); 
    837         $user_login = $signup->user_login; 
    838         $user_email = $signup->user_email; 
     843        $user_login = $wpdb->escape($signup->user_login); 
     844        $user_email = $wpdb->escape($signup->user_email); 
    839845        $password = wp_generate_password( 12, false ); 
    840846 
    841847        $user_id = username_exists($user_login); 
     
    11511157        else 
    11521158                update_option( 'upload_path', get_blog_option( $current_site->blog_id, 'upload_path' ) ); 
    11531159 
    1154         update_option( 'blogname', $blog_title ); 
     1160        update_option( 'blogname', stripslashes( $blog_title ) ); 
    11551161        update_option( 'admin_email', '' ); 
    11561162 
    11571163        // remove all perms 
     
    12081214        if ( !apply_filters('wpmu_welcome_notification', $blog_id, $user_id, $password, $title, $meta) ) 
    12091215                return false; 
    12101216 
    1211         $welcome_email = get_site_option( 'welcome_email' ); 
     1217        $welcome_email = stripslashes( get_site_option( 'welcome_email' ) ); 
    12121218        if ( $welcome_email == false ) 
    1213                 $welcome_email = __( 'Dear User, 
     1219                $welcome_email = stripslashes( __( 'Dear User, 
    12141220 
    12151221Your new SITE_NAME site has been successfully set up at: 
    12161222BLOG_URL 
     
    12221228 
    12231229We hope you enjoy your new site. Thanks! 
    12241230 
    1225 --The Team @ SITE_NAME' ); 
     1231--The Team @ SITE_NAME' ) ); 
    12261232 
    12271233        $url = get_blogaddress_by_id($blog_id); 
    12281234        $user = get_userdata( $user_id ); 
     
    12461252        if ( empty( $current_site->site_name ) ) 
    12471253                $current_site->site_name = 'WordPress'; 
    12481254 
    1249         $subject = apply_filters( 'update_welcome_subject', sprintf(__('New %1$s Site: %2$s'), $current_site->site_name, $title ) ); 
     1255        $subject = apply_filters( 'update_welcome_subject', sprintf(__('New %1$s Site: %2$s'), $current_site->site_name, stripslashes( $title ) ) ); 
    12501256        wp_mail($user->user_email, $subject, $message, $message_headers); 
    12511257        return true; 
    12521258} 
     
    14751481function wpmu_log_new_registrations( $blog_id, $user_id ) { 
    14761482        global $wpdb; 
    14771483        $user = get_userdata( (int) $user_id ); 
    1478         $wpdb->insert( $wpdb->registration_log, array('email' => $user->user_email, 'IP' => preg_replace( '/[^0-9., ]/', '', wp_unslash( $_SERVER['REMOTE_ADDR'] ) ), 'blog_id' => $blog_id, 'date_registered' => current_time('mysql')) ); 
     1484        $wpdb->insert( $wpdb->registration_log, array('email' => $user->user_email, 'IP' => preg_replace( '/[^0-9., ]/', '',$_SERVER['REMOTE_ADDR'] ), 'blog_id' => $blog_id, 'date_registered' => current_time('mysql')) ); 
    14791485} 
    14801486 
    14811487/** 
  • wp-includes/meta.php

     
    4242 
    4343        $column = esc_sql($meta_type . '_id'); 
    4444 
     45        // expected_slashed ($meta_key) 
     46        $meta_key = stripslashes($meta_key); 
     47        $meta_value = stripslashes_deep($meta_value); 
    4548        $meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type ); 
    4649 
    4750        $check = apply_filters( "add_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $unique ); 
     
    110113        $column = esc_sql($meta_type . '_id'); 
    111114        $id_column = 'user' == $meta_type ? 'umeta_id' : 'meta_id'; 
    112115 
     116        // expected_slashed ($meta_key) 
     117        $meta_key = stripslashes($meta_key); 
    113118        $passed_value = $meta_value; 
     119        $meta_value = stripslashes_deep($meta_value); 
    114120        $meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type ); 
    115121 
    116122        $check = apply_filters( "update_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $prev_value ); 
     
    189195 
    190196        $type_column = esc_sql($meta_type . '_id'); 
    191197        $id_column = 'user' == $meta_type ? 'umeta_id' : 'meta_id'; 
     198        // expected_slashed ($meta_key) 
     199        $meta_key = stripslashes($meta_key); 
     200        $meta_value = stripslashes_deep($meta_value); 
    192201 
    193202        $check = apply_filters( "delete_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $delete_all ); 
    194203        if ( null !== $check ) 
  • wp-includes/nav-menu.php

     
    369369 
    370370        $menu_item_db_id = (int) $menu_item_db_id; 
    371371 
    372         wp_update_post_meta( $menu_item_db_id, '_menu_item_type', sanitize_key($args['menu-item-type']) ); 
    373         wp_update_post_meta( $menu_item_db_id, '_menu_item_menu_item_parent', strval( (int) $args['menu-item-parent-id'] ) ); 
    374         wp_update_post_meta( $menu_item_db_id, '_menu_item_object_id', strval( (int) $args['menu-item-object-id'] ) ); 
    375         wp_update_post_meta( $menu_item_db_id, '_menu_item_object', sanitize_key($args['menu-item-object']) ); 
    376         wp_update_post_meta( $menu_item_db_id, '_menu_item_target', sanitize_key($args['menu-item-target']) ); 
     372        update_post_meta( $menu_item_db_id, '_menu_item_type', sanitize_key($args['menu-item-type']) ); 
     373        update_post_meta( $menu_item_db_id, '_menu_item_menu_item_parent', strval( (int) $args['menu-item-parent-id'] ) ); 
     374        update_post_meta( $menu_item_db_id, '_menu_item_object_id', strval( (int) $args['menu-item-object-id'] ) ); 
     375        update_post_meta( $menu_item_db_id, '_menu_item_object', sanitize_key($args['menu-item-object']) ); 
     376        update_post_meta( $menu_item_db_id, '_menu_item_target', sanitize_key($args['menu-item-target']) ); 
    377377 
    378378        $args['menu-item-classes'] = array_map( 'sanitize_html_class', explode( ' ', $args['menu-item-classes'] ) ); 
    379379        $args['menu-item-xfn'] = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['menu-item-xfn'] ) ) ); 
    380         wp_update_post_meta( $menu_item_db_id, '_menu_item_classes', $args['menu-item-classes'] ); 
    381         wp_update_post_meta( $menu_item_db_id, '_menu_item_xfn', $args['menu-item-xfn'] ); 
    382         wp_update_post_meta( $menu_item_db_id, '_menu_item_url', esc_url_raw($args['menu-item-url']) ); 
     380        update_post_meta( $menu_item_db_id, '_menu_item_classes', $args['menu-item-classes'] ); 
     381        update_post_meta( $menu_item_db_id, '_menu_item_xfn', $args['menu-item-xfn'] ); 
     382        update_post_meta( $menu_item_db_id, '_menu_item_url', esc_url_raw($args['menu-item-url']) ); 
    383383 
    384384        if ( 0 == $menu_id ) 
    385                 wp_update_post_meta( $menu_item_db_id, '_menu_item_orphaned', (string) time() ); 
     385                update_post_meta( $menu_item_db_id, '_menu_item_orphaned', (string) time() ); 
    386386        elseif ( get_post_meta( $menu_item_db_id, '_menu_item_orphaned' ) ) 
    387387                delete_post_meta( $menu_item_db_id, '_menu_item_orphaned' ); 
    388388 
  • wp-mail.php

     
    202202        $post_category = array(get_option('default_email_category')); 
    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); 
    205206 
    206207        $post_ID = wp_insert_post($post_data); 
    207208        if ( is_wp_error( $post_ID ) ) 
  • wp-trackback.php

     
    4545$charset = isset($_POST['charset']) ? $_POST['charset'] : ''; 
    4646 
    4747// These three are stripslashed here so that they can be properly escaped after mb_convert_encoding() 
    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'] )  : ''; 
     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'])  : ''; 
    5151 
    5252if ($charset) 
    5353        $charset = str_replace( array(',', ' '), '', strtoupper( trim($charset) ) ); 
     
    6464        $blog_name = mb_convert_encoding($blog_name, get_option('blog_charset'), $charset); 
    6565} 
    6666 
     67// 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); 
     71 
    6772if ( is_single() || is_page() ) 
    6873        $tb_id = $posts[0]->ID; 
    6974 
  • wp-admin/network.php

     
    520520        $base              = parse_url( trailingslashit( get_option( 'home' ) ), PHP_URL_PATH ); 
    521521        $subdomain_install = allow_subdomain_install() ? !empty( $_POST['subdomain_install'] ) : false; 
    522522        if ( ! network_domain_check() ) { 
    523                 $result = populate_network( 1, get_clean_basedomain(), sanitize_email( $_POST['email'] ), wp_unslash( $_POST['sitename'] ), $base, $subdomain_install ); 
     523                $result = populate_network( 1, get_clean_basedomain(), sanitize_email( $_POST['email'] ), stripslashes( $_POST['sitename'] ), $base, $subdomain_install ); 
    524524                if ( is_wp_error( $result ) ) { 
    525525                        if ( 1 == count( $result->get_error_codes() ) && 'no_wildcard_dns' == $result->get_error_code() ) 
    526526                                network_step2( $result ); 
  • wp-admin/options-head.php

     
    22/** 
    33 * WordPress Options Header. 
    44 * 
    5  * Displays updated message, if updated variable is part of the URL query. 
     5 * Resets variables: 'action', 'standalone', and 'option_group_id'. Displays 
     6 * updated message, if updated variable is part of the URL query. 
    67 * 
    78 * @package WordPress 
    89 * @subpackage Administration 
  • wp-admin/users.php

     
    6464); 
    6565 
    6666if ( empty($_REQUEST) ) { 
    67         $referer = '<input type="hidden" name="wp_http_referer" value="'. esc_attr( wp_unslash( $_SERVER['REQUEST_URI'] ) ) . '" />'; 
     67        $referer = '<input type="hidden" name="wp_http_referer" value="'. esc_attr(stripslashes($_SERVER['REQUEST_URI'])) . '" />'; 
    6868} elseif ( isset($_REQUEST['wp_http_referer']) ) { 
    69         $redirect = remove_query_arg(array('wp_http_referer', 'updated', 'delete_count'), wp_unslash( $_REQUEST['wp_http_referer'] ) ); 
     69        $redirect = remove_query_arg(array('wp_http_referer', 'updated', 'delete_count'), stripslashes($_REQUEST['wp_http_referer'])); 
    7070        $referer = '<input type="hidden" name="wp_http_referer" value="' . esc_attr($redirect) . '" />'; 
    7171} else { 
    7272        $redirect = 'users.php'; 
     
    357357default: 
    358358 
    359359        if ( !empty($_GET['_wp_http_referer']) ) { 
    360                 wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce'), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ); 
     360                wp_redirect(remove_query_arg(array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']))); 
    361361                exit; 
    362362        } 
    363363 
     
    381381                case 'add': 
    382382                        if ( isset( $_GET['id'] ) && ( $user_id = $_GET['id'] ) && current_user_can( 'edit_user', $user_id ) ) { 
    383383                                $messages[] = '<div id="message" class="updated"><p>' . sprintf( __( 'New user created. <a href="%s">Edit user</a>' ), 
    384                                         esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), 
     384                                        esc_url( add_query_arg( 'wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), 
    385385                                                self_admin_url( 'user-edit.php?user_id=' . $user_id ) ) ) ) . '</p></div>'; 
    386386                        } else { 
    387387                                $messages[] = '<div id="message" class="updated"><p>' . __( 'New user created.' ) . '</p></div>'; 
  • wp-admin/edit-comments.php

     
    2020        check_admin_referer( 'bulk-comments' ); 
    2121 
    2222        if ( 'delete_all' == $doaction && !empty( $_REQUEST['pagegen_timestamp'] ) ) { 
    23                 $comment_status = $_REQUEST['comment_status']; 
    24                 $delete_time = $_REQUEST['pagegen_timestamp']; 
    25                 $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_approved = %s AND %s > comment_date_gmt", $comment_status, $delete_time ) ); 
     23                $comment_status = $wpdb->escape( $_REQUEST['comment_status'] ); 
     24                $delete_time = $wpdb->escape( $_REQUEST['pagegen_timestamp'] ); 
     25                $comment_ids = $wpdb->get_col( "SELECT comment_ID FROM $wpdb->comments WHERE comment_approved = '$comment_status' AND '$delete_time' > comment_date_gmt" ); 
    2626                $doaction = 'delete'; 
    2727        } elseif ( isset( $_REQUEST['delete_comments'] ) ) { 
    2828                $comment_ids = $_REQUEST['delete_comments']; 
     
    9595        wp_safe_redirect( $redirect_to ); 
    9696        exit; 
    9797} elseif ( ! empty( $_GET['_wp_http_referer'] ) ) { 
    98          wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ); 
     98         wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), stripslashes( $_SERVER['REQUEST_URI'] ) ) ); 
    9999         exit; 
    100100} 
    101101 
     
    153153        echo __('Comments'); 
    154154 
    155155if ( isset($_REQUEST['s']) && $_REQUEST['s'] ) 
    156         printf( '<span class="subtitle">' . sprintf( __( 'Search results for &#8220;%s&#8221;' ), wp_html_excerpt( esc_html( wp_unslash( $_REQUEST['s'] ) ), 50 ) ) . '</span>' ); ?> 
     156        printf( '<span class="subtitle">' . sprintf( __( 'Search results for &#8220;%s&#8221;' ), wp_html_excerpt( esc_html( stripslashes( $_REQUEST['s'] ) ), 50 ) ) . '</span>' ); ?> 
    157157</h2> 
    158158 
    159159<?php 
  • wp-admin/includes/class-wp-ms-sites-list-table.php

     
    2929 
    3030                $pagenum = $this->get_pagenum(); 
    3131 
    32                 $s = isset( $_REQUEST['s'] ) ? wp_unslash( trim( $_REQUEST[ 's' ] ) ) : ''; 
     32                $s = isset( $_REQUEST['s'] ) ? stripslashes( trim( $_REQUEST[ 's' ] ) ) : ''; 
    3333                $wild = ''; 
    3434                if ( false !== strpos($s, '*') ) { 
    3535                        $wild = '%'; 
  • wp-admin/includes/plugin-install.php

     
    116116 * @since 2.7.0 
    117117 */ 
    118118function install_search_form( $type_selector = true ) { 
    119         $type = isset($_REQUEST['type']) ? wp_unslash( $_REQUEST['type'] ) : 'term'; 
    120         $term = isset($_REQUEST['s']) ? wp_unslash( $_REQUEST['s'] ) : ''; 
     119        $type = isset($_REQUEST['type']) ? stripslashes( $_REQUEST['type'] ) : 'term'; 
     120        $term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : ''; 
    121121 
    122122        ?><form id="search-plugins" method="get" action=""> 
    123123                <input type="hidden" name="tab" value="search" /> 
     
    160160 * 
    161161 */ 
    162162function install_plugins_favorites_form() { 
    163         $user = ! empty( $_GET['user'] ) ? wp_unslash( $_GET['user'] ) : get_user_option( 'wporg_favorites' ); 
     163        $user = ! empty( $_GET['user'] ) ? stripslashes( $_GET['user'] ) : get_user_option( 'wporg_favorites' ); 
    164164        ?> 
    165165        <p class="install-help"><?php _e( 'If you have marked plugins as favorites on WordPress.org, you can browse them here.' ); ?></p> 
    166166        <form method="get" action=""> 
     
    251251                } 
    252252        } 
    253253        if ( isset($_GET['from']) ) 
    254                 $url .= '&amp;from=' . urlencode( wp_unslash( $_GET['from'] ) ); 
     254                $url .= '&amp;from=' . urlencode(stripslashes($_GET['from'])); 
    255255 
    256256        return compact('status', 'url', 'version'); 
    257257} 
     
    264264function install_plugin_information() { 
    265265        global $tab; 
    266266 
    267         $api = plugins_api('plugin_information', array('slug' => wp_unslash( $_REQUEST['plugin'] ) )); 
     267        $api = plugins_api('plugin_information', array('slug' => stripslashes( $_REQUEST['plugin'] ) )); 
    268268 
    269269        if ( is_wp_error($api) ) 
    270270                wp_die($api); 
     
    295295                        $api->$key = wp_kses( $api->$key, $plugins_allowedtags ); 
    296296        } 
    297297 
    298         $section = isset($_REQUEST['section']) ? wp_unslash( $_REQUEST['section'] ) : 'description'; //Default to the Description tab, Do not translate, API returns English. 
     298        $section = isset($_REQUEST['section']) ? stripslashes( $_REQUEST['section'] ) : 'description'; //Default to the Description tab, Do not translate, API returns English. 
    299299        if ( empty($section) || ! isset($api->sections[ $section ]) ) 
    300300                $section = array_shift( $section_titles = array_keys((array)$api->sections) ); 
    301301 
  • wp-admin/includes/bookmark.php

     
    3939 
    4040        if ( !empty( $link_id ) ) { 
    4141                $_POST['link_id'] = $link_id; 
    42                 return wp_update_link( wp_unslash( $_POST ) ); 
     42                return wp_update_link( $_POST ); 
    4343        } else { 
    44                 return wp_insert_link( wp_unslash( $_POST ) ); 
     44                return wp_insert_link( $_POST ); 
    4545        } 
    4646} 
    4747 
     
    5555function get_default_link_to_edit() { 
    5656        $link = new stdClass; 
    5757        if ( isset( $_GET['linkurl'] ) ) 
    58                 $link->link_url = esc_url( wp_unslash( $_GET['linkurl'] ) ); 
     58                $link->link_url = esc_url( $_GET['linkurl'] ); 
    5959        else 
    6060                $link->link_url = ''; 
    6161 
    6262        if ( isset( $_GET['name'] ) ) 
    63                 $link->link_name = esc_attr( wp_unslash( $_GET['name'] ) ); 
     63                $link->link_name = esc_attr( $_GET['name'] ); 
    6464        else 
    6565                $link->link_name = ''; 
    6666 
     
    137137        $linkdata = wp_parse_args( $linkdata, $defaults ); 
    138138        $linkdata = sanitize_bookmark( $linkdata, 'db' ); 
    139139 
    140         extract( $linkdata, EXTR_SKIP ); 
     140        extract( stripslashes_deep( $linkdata ), EXTR_SKIP ); 
    141141 
    142142        $update = false; 
    143143 
     
    250250 
    251251        $link = get_bookmark( $link_id, ARRAY_A ); 
    252252 
     253        // Escape data pulled from DB. 
     254        $link = add_magic_quotes( $link ); 
     255 
    253256        // Passed link category list overwrites existing category list if not empty. 
    254257        if ( isset( $linkdata['link_category'] ) && is_array( $linkdata['link_category'] ) 
    255258                         && 0 != count( $linkdata['link_category'] ) ) 
  • wp-admin/includes/taxonomy.php

     
    157157        // First, get all of the original fields 
    158158        $category = get_category($cat_ID, ARRAY_A); 
    159159 
     160        // Escape data pulled from DB. 
     161        $category = add_magic_quotes($category); 
     162 
    160163        // Merge old and new fields with new fields overwriting old ones. 
    161164        $catarr = array_merge($category, $catarr); 
    162165 
  • wp-admin/includes/class-wp-terms-list-table.php

     
    5252                        $tags_per_page = apply_filters( 'edit_categories_per_page', $tags_per_page ); // Old filter 
    5353                } 
    5454 
    55                 $search = !empty( $_REQUEST['s'] ) ? trim( wp_unslash( $_REQUEST['s'] ) ) : ''; 
     55                $search = !empty( $_REQUEST['s'] ) ? trim( stripslashes( $_REQUEST['s'] ) ) : ''; 
    5656 
    5757                $args = array( 
    5858                        'search' => $search, 
     
    6161                ); 
    6262 
    6363                if ( !empty( $_REQUEST['orderby'] ) ) 
    64                         $args['orderby'] = trim( wp_unslash( $_REQUEST['orderby'] ) ); 
     64                        $args['orderby'] = trim( stripslashes( $_REQUEST['orderby'] ) ); 
    6565 
    6666                if ( !empty( $_REQUEST['order'] ) ) 
    67                         $args['order'] = trim( wp_unslash( $_REQUEST['order'] ) ); 
     67                        $args['order'] = trim( stripslashes( $_REQUEST['order'] ) ); 
    6868 
    6969                $this->callback_args = $args; 
    7070 
  • wp-admin/includes/file.php

     
    901901        $credentials = get_option('ftp_credentials', array( 'hostname' => '', 'username' => '')); 
    902902 
    903903        // If defined, set it to that, Else, If POST'd, set it to that, If not, Set it to whatever it previously was(saved details in option) 
    904         $credentials['hostname'] = defined('FTP_HOST') ? FTP_HOST : (!empty($_POST['hostname']) ? wp_unslash( $_POST['hostname'] ) : $credentials['hostname']); 
    905         $credentials['username'] = defined('FTP_USER') ? FTP_USER : (!empty($_POST['username']) ? wp_unslash( $_POST['username'] ) : $credentials['username']); 
    906         $credentials['password'] = defined('FTP_PASS') ? FTP_PASS : (!empty($_POST['password']) ? wp_unslash( $_POST['password'] ) : ''); 
     904        $credentials['hostname'] = defined('FTP_HOST') ? FTP_HOST : (!empty($_POST['hostname']) ? stripslashes($_POST['hostname']) : $credentials['hostname']); 
     905        $credentials['username'] = defined('FTP_USER') ? FTP_USER : (!empty($_POST['username']) ? stripslashes($_POST['username']) : $credentials['username']); 
     906        $credentials['password'] = defined('FTP_PASS') ? FTP_PASS : (!empty($_POST['password']) ? stripslashes($_POST['password']) : ''); 
    907907 
    908908        // Check to see if we are setting the public/private keys for ssh 
    909         $credentials['public_key'] = defined('FTP_PUBKEY') ? FTP_PUBKEY : (!empty($_POST['public_key']) ? wp_unslash( $_POST['public_key'] ) : ''); 
    910         $credentials['private_key'] = defined('FTP_PRIKEY') ? FTP_PRIKEY : (!empty($_POST['private_key']) ? wp_unslash( $_POST['private_key'] ) : ''); 
     909        $credentials['public_key'] = defined('FTP_PUBKEY') ? FTP_PUBKEY : (!empty($_POST['public_key']) ? stripslashes($_POST['public_key']) : ''); 
     910        $credentials['private_key'] = defined('FTP_PRIKEY') ? FTP_PRIKEY : (!empty($_POST['private_key']) ? stripslashes($_POST['private_key']) : ''); 
    911911 
    912912        //sanitize the hostname, Some people might pass in odd-data: 
    913913        $credentials['hostname'] = preg_replace('|\w+://|', '', $credentials['hostname']); //Strip any schemes off 
     
    925925        else if ( (defined('FTP_SSL') && FTP_SSL) && 'ftpext' == $type ) //Only the FTP Extension understands SSL 
    926926                $credentials['connection_type'] = 'ftps'; 
    927927        else if ( !empty($_POST['connection_type']) ) 
    928                 $credentials['connection_type'] = wp_unslash( $_POST['connection_type'] ); 
     928                $credentials['connection_type'] = stripslashes($_POST['connection_type']); 
    929929        else if ( !isset($credentials['connection_type']) ) //All else fails (And it's not defaulted to something else saved), Default to FTP 
    930930                $credentials['connection_type'] = 'ftp'; 
    931931 
     
    10501050<?php 
    10511051foreach ( (array) $extra_fields as $field ) { 
    10521052        if ( isset( $_POST[ $field ] ) ) 
    1053                 echo '<input type="hidden" name="' . esc_attr( $field ) . '" value="' . esc_attr( wp_unslash( $_POST[ $field ] ) ) . '" />'; 
     1053                echo '<input type="hidden" name="' . esc_attr( $field ) . '" value="' . esc_attr( stripslashes( $_POST[ $field ] ) ) . '" />'; 
    10541054} 
    10551055submit_button( __( 'Proceed' ), 'button', 'upgrade' ); 
    10561056?> 
  • wp-admin/includes/ajax-actions.php

     
    5959                wp_die( 0 ); 
    6060        } 
    6161 
    62         $s = wp_unslash( $_GET['q'] ); 
     62        $s = stripslashes( $_GET['q'] ); 
    6363 
    6464        $comma = _x( ',', 'tag delimiter' ); 
    6565        if ( ',' !== $comma ) 
     
    279279 */ 
    280280 
    281281function _wp_ajax_add_hierarchical_term() { 
    282         $post_data = wp_unslash( $_POST ); 
    283  
    284         $action = $post_data['action']; 
     282        $action = $_POST['action']; 
    285283        $taxonomy = get_taxonomy(substr($action, 4)); 
    286284        check_ajax_referer( $action, '_ajax_nonce-add-' . $taxonomy->name ); 
    287285        if ( !current_user_can( $taxonomy->cap->edit_terms ) ) 
    288286                wp_die( -1 ); 
    289         $names = explode(',', $post_data['new'.$taxonomy->name]); 
    290         $parent = isset($post_data['new'.$taxonomy->name.'_parent']) ? (int) $post_data['new'.$taxonomy->name.'_parent'] : 0; 
     287        $names = explode(',', $_POST['new'.$taxonomy->name]); 
     288        $parent = isset($_POST['new'.$taxonomy->name.'_parent']) ? (int) $_POST['new'.$taxonomy->name.'_parent'] : 0; 
    291289        if ( 0 > $parent ) 
    292290                $parent = 0; 
    293291        if ( $taxonomy->name == 'category' ) 
    294                 $post_category = isset( $post_data['post_category'] ) ? (array) $post_data['post_category'] : array(); 
     292                $post_category = isset($_POST['post_category']) ? (array) $_POST['post_category'] : array(); 
    295293        else 
    296                 $post_category = ( isset( $post_data['tax_input'] ) && isset( $post_data['tax_input'][$taxonomy->name] ) ) ? (array) $post_data['tax_input'][$taxonomy->name] : array(); 
     294                $post_category = ( isset($_POST['tax_input']) && isset($_POST['tax_input'][$taxonomy->name]) ) ? (array) $_POST['tax_input'][$taxonomy->name] : array(); 
    297295        $checked_categories = array_map( 'absint', (array) $post_category ); 
    298296        $popular_ids = wp_popular_terms_checklist($taxonomy->name, 0, 10, false); 
    299297 
     
    561559        check_ajax_referer( $action ); 
    562560        if ( !current_user_can( 'manage_categories' ) ) 
    563561                wp_die( -1 ); 
    564         $names = explode( ',', wp_unslash( $_POST['newcat'] ) ); 
     562        $names = explode(',', $_POST['newcat']); 
    565563        $x = new WP_Ajax_Response(); 
    566564        foreach ( $names as $cat_name ) { 
    567565                $cat_name = trim($cat_name); 
     
    574572                        continue; 
    575573                else if ( is_array( $cat_id ) ) 
    576574                        $cat_id = $cat_id['term_id']; 
    577                 $cat_name = esc_html( wp_unslash( $cat_name ) ); 
     575                $cat_name = esc_html(stripslashes($cat_name)); 
    578576                $x->add( array( 
    579577                        'what' => 'link-category', 
    580578                        'id' => $cat_id, 
     
    588586function wp_ajax_add_tag() { 
    589587        global $wp_list_table; 
    590588 
    591         $post_data = wp_unslash( $_POST ); 
    592  
    593589        check_ajax_referer( 'add-tag', '_wpnonce_add-tag' ); 
    594         $post_type = !empty($post_data['post_type']) ? $post_data['post_type'] : 'post'; 
    595         $taxonomy = !empty($post_data['taxonomy']) ? $post_data['taxonomy'] : 'post_tag'; 
     590        $post_type = !empty($_POST['post_type']) ? $_POST['post_type'] : 'post'; 
     591        $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag'; 
    596592        $tax = get_taxonomy($taxonomy); 
    597593 
    598594        if ( !current_user_can( $tax->cap->edit_terms ) ) 
     
    600596 
    601597        $x = new WP_Ajax_Response(); 
    602598 
    603         $tag = wp_insert_term( $post_data['tag-name'], $taxonomy, $post_data ); 
     599        $tag = wp_insert_term($_POST['tag-name'], $taxonomy, $_POST ); 
    604600 
    605601        if ( !$tag || is_wp_error($tag) || (!$tag = get_term( $tag['term_id'], $taxonomy )) ) { 
    606602                $message = __('An error has occurred. Please reload the page and try again.'); 
     
    614610                $x->send(); 
    615611        } 
    616612 
    617         $wp_list_table = _get_list_table( 'WP_Terms_List_Table', array( 'screen' => $post_data['screen'] ) ); 
     613        $wp_list_table = _get_list_table( 'WP_Terms_List_Table', array( 'screen' => $_POST['screen'] ) ); 
    618614 
    619615        $level = 0; 
    620616        if ( is_taxonomy_hierarchical($taxonomy) ) { 
     
    732728        $user = wp_get_current_user(); 
    733729        if ( $user->exists() ) { 
    734730                $user_ID = $user->ID; 
    735                 $comment_author       = $user->display_name; 
    736                 $comment_author_email = $user->user_email; 
    737                 $comment_author_url   = $user->user_url; 
    738                 $comment_content      = trim( wp_unslash( $_POST['content'] ) ); 
     731                $comment_author       = $wpdb->escape($user->display_name); 
     732                $comment_author_email = $wpdb->escape($user->user_email); 
     733                $comment_author_url   = $wpdb->escape($user->user_url); 
     734                $comment_content      = trim($_POST['content']); 
    739735                if ( current_user_can( 'unfiltered_html' ) ) { 
    740736                        if ( wp_create_nonce( 'unfiltered-html-comment' ) != $_POST['_wp_unfiltered_html_comment'] ) { 
    741737                                kses_remove_filters(); // start with a clean slate 
     
    961957                ) ); 
    962958        } else { // Update? 
    963959                $mid = (int) key( $_POST['meta'] ); 
    964                 $key = wp_unslash( $_POST['meta'][$mid]['key'] ); 
    965                 $value = wp_unslash( $_POST['meta'][$mid]['value'] ); 
     960                $key = stripslashes( $_POST['meta'][$mid]['key'] ); 
     961                $value = stripslashes( $_POST['meta'][$mid]['value'] ); 
    966962                if ( '' == trim($key) ) 
    967963                        wp_die( __( 'Please provide a custom field name.' ) ); 
    968964                if ( '' == trim($value) ) 
     
    12311227        $args = array(); 
    12321228 
    12331229        if ( isset( $_POST['search'] ) ) 
    1234                 $args['s'] = wp_unslash( $_POST['search'] ); 
     1230                $args['s'] = stripslashes( $_POST['search'] ); 
    12351231        $args['pagenum'] = ! empty( $_POST['page'] ) ? absint( $_POST['page'] ) : 1; 
    12361232 
    12371233        require(ABSPATH . WPINC . '/class-wp-editor.php'); 
     
    13321328        $data = &$_POST; 
    13331329 
    13341330        $post = get_post( $post_ID, ARRAY_A ); 
     1331        $post = add_magic_quotes($post); //since it is from db 
    13351332 
    13361333        $data['content'] = $post['post_content']; 
    13371334        $data['excerpt'] = $post['post_excerpt']; 
     
    13801377 
    13811378        check_ajax_referer( 'taxinlineeditnonce', '_inline_edit' ); 
    13821379 
    1383         $post_data = wp_unslash( $_POST ); 
    1384  
    1385         $taxonomy = sanitize_key( $post_data['taxonomy'] ); 
     1380        $taxonomy = sanitize_key( $_POST['taxonomy'] ); 
    13861381        $tax = get_taxonomy( $taxonomy ); 
    13871382        if ( ! $tax ) 
    13881383                wp_die( 0 ); 
     
    13921387 
    13931388        $wp_list_table = _get_list_table( 'WP_Terms_List_Table', array( 'screen' => 'edit-' . $taxonomy ) ); 
    13941389 
    1395         if ( ! isset($post_data['tax_ID']) || ! ( $id = (int) $post_data['tax_ID'] ) ) 
     1390        if ( ! isset($_POST['tax_ID']) || ! ( $id = (int) $_POST['tax_ID'] ) ) 
    13961391                wp_die( -1 ); 
    13971392 
    13981393        $tag = get_term( $id, $taxonomy ); 
    1399         $post_data['description'] = $tag->description; 
     1394        $_POST['description'] = $tag->description; 
    14001395 
    1401         $updated = wp_update_term($id, $taxonomy, $post_data ); 
     1396        $updated = wp_update_term($id, $taxonomy, $_POST); 
    14021397        if ( $updated && !is_wp_error($updated) ) { 
    14031398                $tag = get_term( $updated['term_id'], $taxonomy ); 
    14041399                if ( !$tag || is_wp_error( $tag ) ) { 
     
    14301425        $post_types = get_post_types( array( 'public' => true ), 'objects' ); 
    14311426        unset( $post_types['attachment'] ); 
    14321427 
    1433         $s = wp_unslash( $_POST['ps'] ); 
     1428        $s = stripslashes( $_POST['ps'] ); 
    14341429        $searchand = $search = ''; 
    14351430        $args = array( 
    14361431                'post_type' => array_keys( $post_types ), 
     
    16011596                $post_id = null; 
    16021597        } 
    16031598 
    1604         $post_data = isset( $_REQUEST['post_data'] ) ? wp_unslash( $_REQUEST['post_data'] ) : array(); 
     1599        $post_data = isset( $_REQUEST['post_data'] ) ? $_REQUEST['post_data'] : array(); 
    16051600 
    16061601        // If the context is custom header or background, make sure the uploaded file is an image. 
    16071602        if ( isset( $post_data['context'] ) && in_array( $post_data['context'], array( 'custom-header', 'custom-background' ) ) ) { 
     
    16351630 
    16361631        if ( isset( $post_data['context'] ) && isset( $post_data['theme'] ) ) { 
    16371632                if ( 'custom-background' === $post_data['context'] ) 
    1638                         wp_update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', $post_data['theme'] ); 
     1633                        update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', $post_data['theme'] ); 
    16391634 
    16401635                if ( 'custom-header' === $post_data['context'] ) 
    1641                         wp_update_post_meta( $attachment_id, '_wp_attachment_is_custom_header', $post_data['theme'] ); 
     1636                        update_post_meta( $attachment_id, '_wp_attachment_is_custom_header', $post_data['theme'] ); 
    16421637        } 
    16431638 
    16441639        if ( ! $attachment = wp_prepare_attachment_for_js( $attachment_id ) ) 
     
    17831778                wp_die( 0 ); 
    17841779 
    17851780        $new_lock = ( time() - apply_filters( 'wp_check_post_lock_window', AUTOSAVE_INTERVAL * 2 ) + 5 ) . ':' . $active_lock[1]; 
    1786         wp_update_post_meta( $post_id, '_edit_lock', $new_lock, implode( ':', $active_lock ) ); 
     1781        update_post_meta( $post_id, '_edit_lock', $new_lock, implode( ':', $active_lock ) ); 
    17871782        wp_die( 1 ); 
    17881783} 
    17891784 
     
    18781873        if ( ! current_user_can( 'edit_post', $id ) ) 
    18791874                wp_send_json_error(); 
    18801875 
    1881         $changes = wp_unslash( $_REQUEST['changes'] ); 
     1876        $changes = $_REQUEST['changes']; 
    18821877        $post    = get_post( $id, ARRAY_A ); 
    18831878 
    18841879        if ( 'attachment' != $post['post_type'] ) 
     
    18951890 
    18961891        if ( isset( $changes['alt'] ) ) { 
    18971892                $alt = get_post_meta( $id, '_wp_attachment_image_alt', true ); 
    1898                 $new_alt = $changes['alt']; 
     1893                $new_alt = stripslashes( $changes['alt'] ); 
    18991894                if ( $alt != $new_alt ) { 
    19001895                        $new_alt = wp_strip_all_tags( $new_alt, true ); 
    1901                         wp_update_post_meta( $id, '_wp_attachment_image_alt', $new_alt ); 
     1896                        update_post_meta( $id, '_wp_attachment_image_alt', addslashes( $new_alt ) ); 
    19021897                } 
    19031898        } 
    19041899 
     
    19201915 
    19211916        if ( empty( $_REQUEST['attachments'] ) || empty( $_REQUEST['attachments'][ $id ] ) ) 
    19221917                wp_send_json_error(); 
    1923         $attachment_data = wp_unslash( $_REQUEST['attachments'][ $id ] ); 
     1918        $attachment_data = $_REQUEST['attachments'][ $id ]; 
    19241919 
    19251920        check_ajax_referer( 'update-post_' . $id, 'nonce' ); 
    19261921 
     
    19641959 
    19651960        check_ajax_referer( 'update-post_' . $post_id, 'nonce' ); 
    19661961 
    1967         $attachments = wp_unslash( $_REQUEST['attachments'] ); 
     1962        $attachments = $_REQUEST['attachments']; 
    19681963 
    19691964        if ( ! current_user_can( 'edit_post', $post_id ) ) 
    19701965                wp_send_json_error(); 
     
    19951990function wp_ajax_send_attachment_to_editor() { 
    19961991        check_ajax_referer( 'media-send-to-editor', 'nonce' ); 
    19971992 
    1998         $attachment = wp_unslash( $_POST['attachment'] ); 
     1993        $attachment = stripslashes_deep( $_POST['attachment'] ); 
    19991994 
    20001995        $id = intval( $attachment['id'] ); 
    20011996 
     
    20502045function wp_ajax_send_link_to_editor() { 
    20512046        check_ajax_referer( 'media-send-to-editor', 'nonce' ); 
    20522047 
    2053         if ( ! $src = wp_unslash( $_POST['src'] ) ) 
     2048        if ( ! $src = stripslashes( $_POST['src'] ) ) 
    20542049                wp_send_json_error(); 
    20552050 
    20562051        if ( ! strpos( $src, '://' ) ) 
     
    20592054        if ( ! $src = esc_url_raw( $src ) ) 
    20602055                wp_send_json_error(); 
    20612056 
    2062         if ( ! $title = trim( wp_unslash( $_POST['title'] ) ) ) 
     2057        if ( ! $title = trim( stripslashes( $_POST['title'] ) ) ) 
    20632058                $title = wp_basename( $src ); 
    20642059 
    20652060        $html = ''; 
     
    20882083                $screen_id = 'site'; 
    20892084 
    20902085        if ( ! empty($_POST['data']) ) { 
    2091                 $data = wp_unslash( (array) $_POST['data'] ); 
     2086                $data = (array) $_POST['data']; 
    20922087                // todo: how much to sanitize and preset and what to leave to be accessed from $data or $_POST..? 
    20932088                $user = wp_get_current_user(); 
    20942089                $data['user_id'] = $user->exists() ? $user->ID : 0; 
  • wp-admin/includes/post.php

     
    149149 */ 
    150150function edit_post( $post_data = null ) { 
    151151 
    152         if ( empty( $post_data ) ) 
    153                 $post_data = wp_unslash( $_POST ); 
     152        if ( empty($post_data) ) 
     153                $post_data = &$_POST; 
    154154 
    155155        // Clear out any data in internal vars. 
    156156        unset( $post_data['filter'] ); 
     
    236236        if ( 'attachment' == $post_data['post_type'] ) { 
    237237                if ( isset( $post_data[ '_wp_attachment_image_alt' ] ) ) { 
    238238                        $image_alt = get_post_meta( $post_ID, '_wp_attachment_image_alt', true ); 
    239                         if ( $image_alt != $post_data['_wp_attachment_image_alt'] ) { 
    240                                 $image_alt = wp_strip_all_tags( $post_data['_wp_attachment_image_alt'], true ); 
    241                                 wp_update_post_meta( $post_ID, '_wp_attachment_image_alt', $image_alt ); 
     239                        if ( $image_alt != stripslashes( $post_data['_wp_attachment_image_alt'] ) ) { 
     240                                $image_alt = wp_strip_all_tags( stripslashes( $post_data['_wp_attachment_image_alt'] ), true ); 
     241                                // update_meta expects slashed 
     242                                update_post_meta( $post_ID, '_wp_attachment_image_alt', addslashes( $image_alt ) ); 
    242243                        } 
    243244                } 
    244245 
     
    248249 
    249250        add_meta( $post_ID ); 
    250251 
    251         wp_update_post_meta( $post_ID, '_edit_last', $GLOBALS['current_user']->ID ); 
     252        update_post_meta( $post_ID, '_edit_last', $GLOBALS['current_user']->ID ); 
    252253 
    253254        wp_update_post( $post_data ); 
    254255 
     
    429430 
    430431        $post_title = ''; 
    431432        if ( !empty( $_REQUEST['post_title'] ) ) 
    432                 $post_title = esc_html( wp_unslash( $_REQUEST['post_title'] )); 
     433                $post_title = esc_html( stripslashes( $_REQUEST['post_title'] )); 
    433434 
    434435        $post_content = ''; 
    435436        if ( !empty( $_REQUEST['content'] ) ) 
    436                 $post_content = esc_html( wp_unslash( $_REQUEST['content'] )); 
     437                $post_content = esc_html( stripslashes( $_REQUEST['content'] )); 
    437438 
    438439        $post_excerpt = ''; 
    439440        if ( !empty( $_REQUEST['excerpt'] ) ) 
    440                 $post_excerpt = esc_html( wp_unslash( $_REQUEST['excerpt'] )); 
     441                $post_excerpt = esc_html( stripslashes( $_REQUEST['excerpt'] )); 
    441442 
    442443        if ( $create_in_db ) { 
    443444                $post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) ); 
     
    486487function post_exists($title, $content = '', $date = '') { 
    487488        global $wpdb; 
    488489 
    489         $post_title = sanitize_post_field( 'post_title', $title, 0, 'db' ); 
    490         $post_content = sanitize_post_field( 'post_content', $content, 0, 'db' ); 
    491         $post_date = sanitize_post_field( 'post_date', $date, 0, 'db' ); 
     490        $post_title = stripslashes( sanitize_post_field( 'post_title', $title, 0, 'db' ) ); 
     491        $post_content = stripslashes( sanitize_post_field( 'post_content', $content, 0, 'db' ) ); 
     492        $post_date = stripslashes( sanitize_post_field( 'post_date', $date, 0, 'db' ) ); 
    492493 
    493494        $query = "SELECT ID FROM $wpdb->posts WHERE 1=1"; 
    494495        $args = array(); 
     
    566567        } 
    567568 
    568569        // Create the post. 
    569         $post_ID = wp_insert_post( wp_unslash( $_POST ) ); 
     570        $post_ID = wp_insert_post( $_POST ); 
    570571        if ( is_wp_error( $post_ID ) ) 
    571572                return $post_ID; 
    572573 
     
    575576 
    576577        add_meta( $post_ID ); 
    577578 
    578         wp_add_post_meta( $post_ID, '_edit_last', $GLOBALS['current_user']->ID ); 
     579        add_post_meta( $post_ID, '_edit_last', $GLOBALS['current_user']->ID ); 
    579580 
    580581        // Now that we have an ID we can fix any attachment anchor hrefs 
    581582        _fix_attachment_links( $post_ID ); 
     
    619620        global $wpdb; 
    620621        $post_ID = (int) $post_ID; 
    621622 
    622         $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash( trim( $_POST['metakeyselect'] ) ) : ''; 
    623         $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash( trim( $_POST['metakeyinput'] ) ) : ''; 
    624         $metavalue = isset($_POST['metavalue']) ? wp_unslash( trim( $_POST['metavalue'] ) ) : ''; 
     623        $metakeyselect = isset($_POST['metakeyselect']) ? stripslashes( trim( $_POST['metakeyselect'] ) ) : ''; 
     624        $metakeyinput = isset($_POST['metakeyinput']) ? stripslashes( trim( $_POST['metakeyinput'] ) ) : ''; 
     625        $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : ''; 
    625626        if ( is_string( $metavalue ) ) 
    626627                $metavalue = trim( $metavalue ); 
    627628 
     
    638639                if ( is_protected_meta( $metakey, 'post' ) || ! current_user_can( 'add_post_meta', $post_ID, $metakey ) ) 
    639640                        return false; 
    640641 
    641                 return wp_add_post_meta( $post_ID, $metakey, $metavalue ); 
     642                $metakey = esc_sql( $metakey ); 
     643 
     644                return add_post_meta( $post_ID, $metakey, $metavalue ); 
    642645        } 
    643646 
    644647        return false; 
     
    711714 * @since 1.2.0 
    712715 * 
    713716 * @param unknown_type $meta_id 
    714  * @param unknown_type $meta_key 
    715  * @param unknown_type $meta_value 
     717 * @param unknown_type $meta_key Expect Slashed 
     718 * @param unknown_type $meta_value Expect Slashed 
    716719 * @return unknown 
    717720 */ 
    718721function update_meta( $meta_id, $meta_key, $meta_value ) { 
     722        $meta_key = stripslashes( $meta_key ); 
     723        $meta_value = stripslashes_deep( $meta_value ); 
     724 
    719725        return update_metadata_by_mid( 'post', $meta_id, $meta_value, $meta_key ); 
    720726} 
    721727 
     
    769775 
    770776        if ( $replace ) { 
    771777                $post['post_content'] = $content; 
     778                // Escape data pulled from DB. 
     779                $post = add_magic_quotes($post); 
    772780 
    773781                return wp_update_post($post); 
    774782        } 
     
    11791187        $now = time(); 
    11801188        $lock = "$now:$user_id"; 
    11811189 
    1182         wp_update_post_meta( $post->ID, '_edit_lock', $lock ); 
     1190        update_post_meta( $post->ID, '_edit_lock', $lock ); 
    11831191        return array( $now, $user_id ); 
    11841192} 
    11851193 
     
    12301238 
    12311239        // Only store one autosave. If there is already an autosave, overwrite it. 
    12321240        if ( $old_autosave = wp_get_post_autosave( $post_id ) ) { 
    1233                 $new_autosave = _wp_post_revision_fields( wp_unslash( $_POST ), true ); 
     1241                $new_autosave = _wp_post_revision_fields( $_POST, true ); 
    12341242                $new_autosave['ID'] = $old_autosave->ID; 
    12351243                $new_autosave['post_author'] = get_current_user_id(); 
    12361244                return wp_update_post( $new_autosave ); 
    12371245        } 
    12381246 
    12391247        // _wp_put_post_revision() expects unescaped. 
    1240         $_POST = wp_unslash( $_POST ); 
     1248        $_POST = stripslashes_deep($_POST); 
    12411249 
    12421250        // Otherwise create the new autosave as a special post revision 
    12431251        return _wp_put_post_revision( $_POST, true ); 
  • wp-admin/includes/class-wp-users-list-table.php

     
    241241                // Check if the user for this row is editable 
    242242                if ( current_user_can( 'list_users' ) ) { 
    243243                        // Set up the user editing link 
    244                         $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user_object->ID ) ) ); 
     244                        $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user_object->ID ) ) ); 
    245245 
    246246                        // Set up the hover actions for this user 
    247247                        $actions = array(); 
  • wp-admin/includes/dashboard.php

     
    10931093        $widget_options[$widget_id]['number'] = $number; 
    10941094 
    10951095        if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number]) ) { 
    1096                 $_POST['widget-rss'][$number] = wp_unslash( $_POST['widget-rss'][$number] ); 
     1096                $_POST['widget-rss'][$number] = stripslashes_deep( $_POST['widget-rss'][$number] ); 
    10971097                $widget_options[$widget_id] = wp_widget_rss_process( $_POST['widget-rss'][$number] ); 
    10981098                // title is optional. If black, fill it if possible 
    10991099                if ( !$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title']) ) { 
  • wp-admin/includes/class-wp-plugin-install-list-table.php

     
    4848 
    4949                switch ( $tab ) { 
    5050                        case 'search': 
    51                                 $type = isset( $_REQUEST['type'] ) ? wp_unslash( $_REQUEST['type'] ) : 'term'; 
    52                                 $term = isset( $_REQUEST['s'] ) ? wp_unslash( $_REQUEST['s'] ) : ''; 
     51                                $type = isset( $_REQUEST['type'] ) ? stripslashes( $_REQUEST['type'] ) : 'term'; 
     52                                $term = isset( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : ''; 
    5353 
    5454                                switch ( $type ) { 
    5555                                        case 'tag': 
     
    7373                                break; 
    7474 
    7575                        case 'favorites': 
    76                                 $user = isset( $_GET['user'] ) ? wp_unslash( $_GET['user'] ) : get_user_option( 'wporg_favorites' ); 
     76                                $user = isset( $_GET['user'] ) ? stripslashes( $_GET['user'] ) : get_user_option( 'wporg_favorites' ); 
    7777                                update_user_meta( get_current_user_id(), 'wporg_favorites', $user ); 
    7878                                if ( $user ) 
    7979                                        $args['user'] = $user; 
  • wp-admin/includes/class-wp-ms-themes-list-table.php

     
    126126        function _search_callback( $theme ) { 
    127127                static $term; 
    128128                if ( is_null( $term ) ) 
    129                         $term = wp_unslash( $_REQUEST['s'] ); 
     129                        $term = stripslashes( $_REQUEST['s'] ); 
    130130 
    131131                foreach ( array( 'Name', 'Description', 'Author', 'Author', 'AuthorURI' ) as $field ) { 
    132132                        // Don't mark up; Do translate. 
  • wp-admin/includes/upgrade.php

     
    132132                $first_post = get_site_option( 'first_post' ); 
    133133 
    134134                if ( empty($first_post) ) 
    135                         $first_post = __( 'Welcome to <a href="SITE_URL">SITE_NAME</a>. This is your first post. Edit or delete it, then start blogging!' ); 
     135                        $first_post = stripslashes( __( 'Welcome to <a href="SITE_URL">SITE_NAME</a>. This is your first post. Edit or delete it, then start blogging!' ) ); 
    136136 
    137137                $first_post = str_replace( "SITE_URL", esc_url( network_home_url() ), $first_post ); 
    138138                $first_post = str_replace( "SITE_NAME", $current_site->site_name, $first_post ); 
     
    636636        $users = $wpdb->get_results("SELECT * FROM $wpdb->users"); 
    637637        foreach ( $users as $user ) : 
    638638                if ( !empty( $user->user_firstname ) ) 
    639                         update_user_meta( $user->ID, 'first_name', $user->user_firstname ); 
     639                        update_user_meta( $user->ID, 'first_name', $wpdb->escape($user->user_firstname) ); 
    640640                if ( !empty( $user->user_lastname ) ) 
    641                         update_user_meta( $user->ID, 'last_name', $user->user_lastname ); 
     641                        update_user_meta( $user->ID, 'last_name', $wpdb->escape($user->user_lastname) ); 
    642642                if ( !empty( $user->user_nickname ) ) 
    643                         update_user_meta( $user->ID, 'nickname', $user->user_nickname ); 
     643                        update_user_meta( $user->ID, 'nickname', $wpdb->escape($user->user_nickname) ); 
    644644                if ( !empty( $user->user_level ) ) 
    645645                        update_user_meta( $user->ID, $wpdb->prefix . 'user_level', $user->user_level ); 
    646646                if ( !empty( $user->user_icq ) ) 
    647                         update_user_meta( $user->ID, 'icq', $user->user_icq ); 
     647                        update_user_meta( $user->ID, 'icq', $wpdb->escape($user->user_icq) ); 
    648648                if ( !empty( $user->user_aim ) ) 
    649                         update_user_meta( $user->ID, 'aim', $user->user_aim ); 
     649                        update_user_meta( $user->ID, 'aim', $wpdb->escape($user->user_aim) ); 
    650650                if ( !empty( $user->user_msn ) ) 
    651                         update_user_meta( $user->ID, 'msn', $user->user_msn ); 
     651                        update_user_meta( $user->ID, 'msn', $wpdb->escape($user->user_msn) ); 
    652652                if ( !empty( $user->user_yim ) ) 
    653                         update_user_meta( $user->ID, 'yim', $user->user_icq ); 
     653                        update_user_meta( $user->ID, 'yim', $wpdb->escape($user->user_icq) ); 
    654654                if ( !empty( $user->user_description ) ) 
    655                         update_user_meta( $user->ID, 'description', $user->user_description ); 
     655                        update_user_meta( $user->ID, 'description', $wpdb->escape($user->user_description) ); 
    656656 
    657657                if ( isset( $user->user_idmode ) ): 
    658658                        $idmode = $user->user_idmode; 
     
    854854                foreach ( $link_cats as $category) { 
    855855                        $cat_id = (int) $category->cat_id; 
    856856                        $term_id = 0; 
    857                         $name = $category->cat_name; 
     857                        $name = $wpdb->escape($category->cat_name); 
    858858                        $slug = sanitize_title($name); 
    859859                        $term_group = 0; 
    860860 
  • wp-admin/includes/class-wp-theme-install-list-table.php

     
    2424                $search_terms = array(); 
    2525                $search_string = ''; 
    2626                if ( ! empty( $_REQUEST['s'] ) ){ 
    27                         $search_string = strtolower( wp_unslash( $_REQUEST['s'] ) ); 
     27                        $search_string = strtolower( stripslashes( $_REQUEST['s'] ) ); 
    2828                        $search_terms = array_unique( array_filter( array_map( 'trim', explode( ',', $search_string ) ) ) ); 
    2929                } 
    3030 
     
    5959 
    6060                switch ( $tab ) { 
    6161                        case 'search': 
    62                                 $type = isset( $_REQUEST['type'] ) ? wp_unslash( $_REQUEST['type'] ) : 'term'; 
     62                                $type = isset( $_REQUEST['type'] ) ? stripslashes( $_REQUEST['type'] ) : 'term'; 
    6363                                switch ( $type ) { 
    6464                                        case 'tag': 
    6565                                                $args['tag'] = array_map( 'sanitize_key', $search_terms ); 
  • wp-admin/includes/misc.php

     
    220220 * @return string 
    221221 */ 
    222222function url_shorten( $url ) { 
    223         $short_url = str_replace( 'http://', '', $url ); 
     223        $short_url = str_replace( 'http://', '', stripslashes( $url )); 
    224224        $short_url = str_replace( 'www.', '', $short_url ); 
    225225        $short_url = untrailingslashit( $short_url ); 
    226226        if ( strlen( $short_url ) > 35 ) 
     
    248248                        if ( empty( $_GET[$var] ) ) 
    249249                                $$var = ''; 
    250250                        else 
    251                                 $$var = wp_unslash( $_GET[$var] ); 
     251                                $$var = $_GET[$var]; 
    252252                } else { 
    253                         $$var = wp_unslash( $_POST[$var] ); 
     253                        $$var = $_POST[$var]; 
    254254                } 
    255255        } 
    256256} 
     
    323323 
    324324                if ( !$user = wp_get_current_user() ) 
    325325                        return; 
    326                 $option = wp_unslash( $_POST['wp_screen_options']['option'] ); 
    327                 $value = wp_unslash( $_POST['wp_screen_options']['value'] ); 
     326                $option = $_POST['wp_screen_options']['option']; 
     327                $value = $_POST['wp_screen_options']['value']; 
    328328 
    329329                if ( $option != sanitize_key( $option ) ) 
    330330                        return; 
  • wp-admin/includes/deprecated.php

     
    472472        function WP_User_Search ($search_term = '', $page = '', $role = '') { 
    473473                _deprecated_function( __FUNCTION__, '3.1', 'WP_User_Query' ); 
    474474 
    475                 $this->search_term = $search_term; 
     475                $this->search_term = stripslashes( $search_term ); 
    476476                $this->raw_page = ( '' == $page ) ? false : (int) $page; 
    477477                $this->page = (int) ( '' == $page ) ? 1 : $page; 
    478478                $this->role = $role; 
    479479 
    480480                $this->prepare_query(); 
    481481                $this->query(); 
     482                $this->prepare_vars_for_template_usage(); 
    482483                $this->do_paging(); 
    483484        } 
    484485 
     
    549550         * @since 2.1.0 
    550551         * @access public 
    551552         */ 
    552         function prepare_vars_for_template_usage() {} 
     553        function prepare_vars_for_template_usage() { 
     554                $this->search_term = stripslashes($this->search_term); // done with DB, from now on we want slashes gone 
     555        } 
    553556 
    554557        /** 
    555558         * {@internal Missing Short Description}} 
  • wp-admin/includes/class-wp-upgrader.php

     
    14271427 
    14281428                $install_actions = array(); 
    14291429 
    1430                 $from = isset($_GET['from']) ? wp_unslash( $_GET['from'] ) : 'plugins'; 
     1430                $from = isset($_GET['from']) ? stripslashes($_GET['from']) : 'plugins'; 
    14311431 
    14321432                if ( 'import' == $from ) 
    14331433                        $install_actions['activate_plugin'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;from=import&amp;plugin=' . $plugin_file, 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin') . '" target="_parent">' . __('Activate Plugin &amp; Run Importer') . '</a>'; 
  • wp-admin/includes/schema.php

     
    505505                else 
    506506                        $autoload = 'yes'; 
    507507 
     508                $option = $wpdb->escape($option); 
    508509                if ( is_array($value) ) 
    509510                        $value = serialize($value); 
     511                $value = $wpdb->escape($value); 
    510512                if ( !empty($insert) ) 
    511513                        $insert .= ', '; 
    512                 $insert .= $wpdb->prepare( "(%s, %s, %s)", $option, $value, $autoload ); 
     514                $insert .= "('$option', '$value', '$autoload')"; 
    513515        } 
    514516 
    515517        if ( !empty($insert) ) 
     
    919921 
    920922        $insert = ''; 
    921923        foreach ( $sitemeta as $meta_key => $meta_value ) { 
     924                $meta_key = $wpdb->escape( $meta_key ); 
    922925                if ( is_array( $meta_value ) ) 
    923926                        $meta_value = serialize( $meta_value ); 
     927                $meta_value = $wpdb->escape( $meta_value ); 
    924928                if ( !empty( $insert ) ) 
    925929                        $insert .= ', '; 
    926                 $insert .= $wpdb->prepare( "( %d, %s, %s)", $network_id, $meta_key, $meta_value ); 
     930                $insert .= "( $network_id, '$meta_key', '$meta_value')"; 
    927931        } 
    928932        $wpdb->query( "INSERT INTO $wpdb->sitemeta ( site_id, meta_key, meta_value ) VALUES " . $insert ); 
    929933 
  • wp-admin/includes/comment.php

     
    1919function comment_exists($comment_author, $comment_date) { 
    2020        global $wpdb; 
    2121 
     22        $comment_author = stripslashes($comment_author); 
     23        $comment_date = stripslashes($comment_date); 
     24 
    2225        return $wpdb->get_var( $wpdb->prepare("SELECT comment_post_ID FROM $wpdb->comments 
    2326                        WHERE comment_author = %s AND comment_date = %s", $comment_author, $comment_date) ); 
    2427} 
     
    3033 */ 
    3134function edit_comment() { 
    3235 
    33         $post_data = wp_unslash( $_POST ); 
    34  
    35         if ( ! current_user_can( 'edit_comment', (int) $post_data['comment_ID'] ) ) 
     36        if ( ! current_user_can( 'edit_comment', (int) $_POST['comment_ID'] ) ) 
    3637                wp_die ( __( 'You are not allowed to edit comments on this post.' ) ); 
    3738 
    38         $post_data['comment_author'] = $post_data['newcomment_author']; 
    39         $post_data['comment_author_email'] = $post_data['newcomment_author_email']; 
    40         $post_data['comment_author_url'] = $post_data['newcomment_author_url']; 
    41         $post_data['comment_approved'] = $post_data['comment_status']; 
    42         $post_data['comment_content'] = $post_data['content']; 
    43         $post_data['comment_ID'] = (int) $post_data['comment_ID']; 
     39        $_POST['comment_author'] = $_POST['newcomment_author']; 
     40        $_POST['comment_author_email'] = $_POST['newcomment_author_email']; 
     41        $_POST['comment_author_url'] = $_POST['newcomment_author_url']; 
     42        $_POST['comment_approved'] = $_POST['comment_status']; 
     43        $_POST['comment_content'] = $_POST['content']; 
     44        $_POST['comment_ID'] = (int) $_POST['comment_ID']; 
    4445 
    4546        foreach ( array ('aa', 'mm', 'jj', 'hh', 'mn') as $timeunit ) { 
    46                 if ( !empty( $post_data['hidden_' . $timeunit] ) && $post_data['hidden_' . $timeunit] != $post_data[$timeunit] ) { 
     47                if ( !empty( $_POST['hidden_' . $timeunit] ) && $_POST['hidden_' . $timeunit] != $_POST[$timeunit] ) { 
    4748                        $_POST['edit_date'] = '1'; 
    4849                        break; 
    4950                } 
    5051        } 
    5152 
    52         if ( !empty ( $post_data['edit_date'] ) ) { 
    53                 $aa = $post_data['aa']; 
    54                 $mm = $post_data['mm']; 
    55                 $jj = $post_data['jj']; 
    56                 $hh = $post_data['hh']; 
    57                 $mn = $post_data['mn']; 
    58                 $ss = $post_data['ss']; 
     53        if ( !empty ( $_POST['edit_date'] ) ) { 
     54                $aa = $_POST['aa']; 
     55                $mm = $_POST['mm']; 
     56                $jj = $_POST['jj']; 
     57                $hh = $_POST['hh']; 
     58                $mn = $_POST['mn']; 
     59                $ss = $_POST['ss']; 
    5960                $jj = ($jj > 31 ) ? 31 : $jj; 
    6061                $hh = ($hh > 23 ) ? $hh -24 : $hh; 
    6162                $mn = ($mn > 59 ) ? $mn -60 : $mn; 
    6263                $ss = ($ss > 59 ) ? $ss -60 : $ss; 
    63                 $post_data['comment_date'] = "$aa-$mm-$jj $hh:$mn:$ss"; 
     64                $_POST['comment_date'] = "$aa-$mm-$jj $hh:$mn:$ss"; 
    6465        } 
    6566 
    66         wp_update_comment( $post_data ); 
     67        wp_update_comment( $_POST ); 
    6768} 
    6869 
    6970/** 
  • wp-admin/includes/class-wp-ms-users-list-table.php

     
    173173 
    174174                                        case 'username': 
    175175                                                $avatar = get_avatar( $user->user_email, 32 ); 
    176                                                 $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user->ID ) ) ); 
     176                                                $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user->ID ) ) ); 
    177177 
    178178                                                echo "<td $attributes>"; ?> 
    179                                                         <?php echo $avatar; ?><strong><a href="<?php echo $edit_link; ?>" class="edit"><?php echo $user->user_login; ?></a><?php 
     179                                                        <?php echo $avatar; ?><strong><a href="<?php echo $edit_link; ?>" class="edit"><?php echo stripslashes( $user->user_login ); ?></a><?php 
    180180                                                        if ( in_array( $user->user_login, $super_admins ) ) 
    181181                                                                echo ' - ' . __( 'Super Admin' ); 
    182182                                                        ?></strong> 
     
    186186                                                                $actions['edit'] = '<a href="' . $edit_link . '">' . __( 'Edit' ) . '</a>'; 
    187187 
    188188                                                                if ( current_user_can( 'delete_user', $user->ID ) && ! in_array( $user->user_login, $super_admins ) ) { 
    189                                                                         $actions['delete'] = '<a href="' . $delete = esc_url( network_admin_url( add_query_arg( '_wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), wp_nonce_url( 'users.php', 'deleteuser' ) . '&amp;action=deleteuser&amp;id=' . $user->ID ) ) ) . '" class="delete">' . __( 'Delete' ) . '</a>'; 
     189                                                                        $actions['delete'] = '<a href="' . $delete = esc_url( network_admin_url( add_query_arg( '_wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), wp_nonce_url( 'users.php', 'deleteuser' ) . '&amp;action=deleteuser&amp;id=' . $user->ID ) ) ) . '" class="delete">' . __( 'Delete' ) . '</a>'; 
    190190                                                                } 
    191191 
    192192                                                                $actions = apply_filters( 'ms_user_row_actions', $actions, $user ); 
  • wp-admin/includes/image-edit.php

     
    454454    if ( is_wp_error( $img ) ) 
    455455        return false; 
    456456 
    457         $changes = !empty($_REQUEST['history']) ? json_decode( wp_unslash( $_REQUEST['history'] ) ) : null; 
     457        $changes = !empty($_REQUEST['history']) ? json_decode( stripslashes($_REQUEST['history']) ) : null; 
    458458        if ( $changes ) 
    459459                $img = image_edit_apply_changes( $img, $changes ); 
    460460 
     
    533533                } 
    534534        } 
    535535 
    536         if ( !wp_update_attachment_metadata($post_id, $meta) || !wp_update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes) ) { 
     536        if ( !wp_update_attachment_metadata($post_id, $meta) || !update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes) ) { 
    537537                $msg->error = __('Cannot save image metadata.'); 
    538538                return $msg; 
    539539        } 
     
    587587                        return $return; 
    588588                } 
    589589        } elseif ( !empty($_REQUEST['history']) ) { 
    590                 $changes = json_decode( wp_unslash( $_REQUEST['history'] ) ); 
     590                $changes = json_decode( stripslashes($_REQUEST['history']) ); 
    591591                if ( $changes ) 
    592592                        $img = image_edit_apply_changes($img, $changes); 
    593593        } else { 
     
    699699 
    700700        if ( $success ) { 
    701701                wp_update_attachment_metadata( $post_id, $meta ); 
    702                 wp_update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes); 
     702                update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes); 
    703703 
    704704                if ( $target == 'thumbnail' || $target == 'all' || $target == 'full' ) { 
    705705                        // Check if it's an image edit from attachment edit screen 
  • wp-admin/includes/class-wp-plugins-list-table.php

     
    2222                        $status = $_REQUEST['plugin_status']; 
    2323 
    2424                if ( isset($_REQUEST['s']) ) 
    25                         $_SERVER['REQUEST_URI'] = add_query_arg('s', wp_unslash($_REQUEST['s']) ); 
     25                        $_SERVER['REQUEST_URI'] = add_query_arg('s', stripslashes($_REQUEST['s']) ); 
    2626 
    2727                $page = $this->get_pagenum(); 
    2828        } 
     
    140140        function _search_callback( $plugin ) { 
    141141                static $term; 
    142142                if ( is_null( $term ) ) 
    143                         $term = wp_unslash( $_REQUEST['s'] ); 
     143                        $term = stripslashes( $_REQUEST['s'] ); 
    144144 
    145145                foreach ( $plugin as $value ) 
    146146                        if ( stripos( $value, $term ) !== false ) 
  • wp-admin/includes/theme-install.php

     
    5050 * @since 2.8.0 
    5151 */ 
    5252function install_theme_search_form( $type_selector = true ) { 
    53         $type = isset( $_REQUEST['type'] ) ? wp_unslash( $_REQUEST['type'] ) : 'term'; 
    54         $term = isset( $_REQUEST['s'] ) ? wp_unslash( $_REQUEST['s'] ) : ''; 
     53        $type = isset( $_REQUEST['type'] ) ? stripslashes( $_REQUEST['type'] ) : 'term'; 
     54        $term = isset( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : ''; 
    5555        if ( ! $type_selector ) 
    5656                echo '<p class="install-help">' . __( 'Search for themes by keyword.' ) . '</p>'; 
    5757        ?> 
     
    179179function install_theme_information() { 
    180180        global $tab, $themes_allowedtags, $wp_list_table; 
    181181 
    182         $theme = themes_api( 'theme_information', array( 'slug' => wp_unslash( $_REQUEST['theme'] ) ) ); 
     182        $theme = themes_api( 'theme_information', array( 'slug' => stripslashes( $_REQUEST['theme'] ) ) ); 
    183183 
    184184        if ( is_wp_error( $theme ) ) 
    185185                wp_die( $theme ); 
  • wp-admin/includes/class-wp-themes-list-table.php

     
    2828                $themes = wp_get_themes( array( 'allowed' => true ) ); 
    2929 
    3030                if ( ! empty( $_REQUEST['s'] ) ) 
    31                         $this->search_terms = array_unique( array_filter( array_map( 'trim', explode( ',', strtolower( wp_unslash( $_REQUEST['s'] ) ) ) ) ) ); 
     31                        $this->search_terms = array_unique( array_filter( array_map( 'trim', explode( ',', strtolower( stripslashes( $_REQUEST['s'] ) ) ) ) ) ); 
    3232 
    3333                if ( ! empty( $_REQUEST['features'] ) ) 
    3434                        $this->features = $_REQUEST['features']; 
     
    235235         * @uses _pagination_args['total_pages'] 
    236236         */ 
    237237         function _js_vars( $extra_args = array() ) { 
    238                 $search_string = isset( $_REQUEST['s'] ) ? esc_attr( wp_unslash( $_REQUEST['s'] ) ) : ''; 
     238                $search_string = isset( $_REQUEST['s'] ) ? esc_attr( stripslashes( $_REQUEST['s'] ) ) : ''; 
    239239 
    240240                $args = array( 
    241241                        'search' => $search_string, 
  • wp-admin/includes/class-wp-comments-list-table.php

     
    170170                        /* 
    171171                        // I toyed with this, but decided against it. Leaving it in here in case anyone thinks it is a good idea. ~ Mark 
    172172                        if ( !empty( $_REQUEST['s'] ) ) 
    173                                 $link = add_query_arg( 's', esc_attr( wp_unslash( $_REQUEST['s'] ) ), $link ); 
     173                                $link = add_query_arg( 's', esc_attr( stripslashes( $_REQUEST['s'] ) ), $link ); 
    174174                        */ 
    175175                        $status_links[$status] = "<a href='$link'$class>" . sprintf( 
    176176                                translate_nooped_plural( $label, $num_comments->$status ), 
  • wp-admin/includes/template.php

     
    13331333 * 
    13341334 */ 
    13351335function _admin_search_query() { 
    1336         echo isset($_REQUEST['s']) ? esc_attr( wp_unslash( $_REQUEST['s'] ) ) : ''; 
     1336        echo isset($_REQUEST['s']) ? esc_attr( stripslashes( $_REQUEST['s'] ) ) : ''; 
    13371337} 
    13381338 
    13391339/** 
  • wp-admin/includes/user.php

     
    3434                $update = true; 
    3535                $user->ID = (int) $user_id; 
    3636                $userdata = get_userdata( $user_id ); 
    37                 $user->user_login = $userdata->user_login; 
     37                $user->user_login = $wpdb->escape( $userdata->user_login ); 
    3838        } else { 
    3939                $update = false; 
    4040        } 
    4141 
    42         // get clean data before we get started. 
    43         $post_data = wp_unslash( $_POST ); 
     42        if ( !$update && isset( $_POST['user_login'] ) ) 
     43                $user->user_login = sanitize_user($_POST['user_login'], true); 
    4444 
    45         if ( !$update && isset( $post_data['user_login'] ) ) 
    46                 $user->user_login = sanitize_user($post_data['user_login'], true); 
    47  
    4845        $pass1 = $pass2 = ''; 
    49         if ( isset( $post_data['pass1'] )) 
    50                 $pass1 = $post_data['pass1']; 
    51         if ( isset( $post_data['pass2'] )) 
    52                 $pass2 = $post_data['pass2']; 
     46        if ( isset( $_POST['pass1'] )) 
     47                $pass1 = $_POST['pass1']; 
     48        if ( isset( $_POST['pass2'] )) 
     49                $pass2 = $_POST['pass2']; 
    5350 
    54         if ( isset( $post_data['role'] ) && current_user_can( 'edit_users' ) ) { 
    55                 $new_role = sanitize_text_field( $post_data['role'] ); 
     51        if ( isset( $_POST['role'] ) && current_user_can( 'edit_users' ) ) { 
     52                $new_role = sanitize_text_field( $_POST['role'] ); 
    5653                $potential_role = isset($wp_roles->role_objects[$new_role]) ? $wp_roles->role_objects[$new_role] : false; 
    5754                // Don't let anyone with 'edit_users' (admins) edit their own role to something without it. 
    5855                // Multisite super admins can freely edit their blog roles -- they possess all caps. 
     
    6562                        wp_die(__('You can&#8217;t give users that role.')); 
    6663        } 
    6764 
    68         if ( isset( $post_data['email'] )) 
    69                 $user->user_email = sanitize_text_field( $post_data['email'] ); 
    70         if ( isset( $post_data['url'] ) ) { 
    71                 if ( empty ( $post_data['url'] ) || $post_data['url'] == 'http://' ) { 
     65        if ( isset( $_POST['email'] )) 
     66                $user->user_email = sanitize_text_field( $_POST['email'] ); 
     67        if ( isset( $_POST['url'] ) ) { 
     68                if ( empty ( $_POST['url'] ) || $_POST['url'] == 'http://' ) { 
    7269                        $user->user_url = ''; 
    7370                } else { 
    74                         $user->user_url = esc_url_raw( $post_data['url'] ); 
     71                        $user->user_url = esc_url_raw( $_POST['url'] ); 
    7572                        $protocols = implode( '|', array_map( 'preg_quote', wp_allowed_protocols() ) ); 
    7673                        $user->user_url = preg_match('/^(' . $protocols . '):/is', $user->user_url) ? $user->user_url : 'http://'.$user->user_url; 
    7774                } 
    7875        } 
    79         if ( isset( $post_data['first_name'] ) ) 
    80                 $user->first_name = sanitize_text_field( $post_data['first_name'] ); 
    81         if ( isset( $post_data['last_name'] ) ) 
    82                 $user->last_name = sanitize_text_field( $post_data['last_name'] ); 
    83         if ( isset( $post_data['nickname'] ) ) 
    84                 $user->nickname = sanitize_text_field( $post_data['nickname'] ); 
    85         if ( isset( $post_data['display_name'] ) ) 
    86                 $user->display_name = sanitize_text_field( $post_data['display_name'] ); 
     76        if ( isset( $_POST['first_name'] ) ) 
     77                $user->first_name = sanitize_text_field( $_POST['first_name'] ); 
     78        if ( isset( $_POST['last_name'] ) ) 
     79                $user->last_name = sanitize_text_field( $_POST['last_name'] ); 
     80        if ( isset( $_POST['nickname'] ) ) 
     81                $user->nickname = sanitize_text_field( $_POST['nickname'] ); 
     82        if ( isset( $_POST['display_name'] ) ) 
     83                $user->display_name = sanitize_text_field( $_POST['display_name'] ); 
    8784 
    88         if ( isset( $post_data['description'] ) ) 
    89                 $user->description = trim( $post_data['description'] ); 
     85        if ( isset( $_POST['description'] ) ) 
     86                $user->description = trim( $_POST['description'] ); 
    9087 
    9188        foreach ( _wp_get_user_contactmethods( $user ) as $method => $name ) { 
    92                 if ( isset( $post_data[$method] )) 
    93                         $user->$method = sanitize_text_field( $post_data[$method] ); 
     89                if ( isset( $_POST[$method] )) 
     90                        $user->$method = sanitize_text_field( $_POST[$method] ); 
    9491        } 
    9592 
    9693        if ( $update ) { 
    97                 $user->rich_editing = isset( $post_data['rich_editing'] ) && 'false' == $post_data['rich_editing'] ? 'false' : 'true'; 
    98                 $user->admin_color = isset( $post_data['admin_color'] ) ? sanitize_text_field( $post_data['admin_color'] ) : 'fresh'; 
    99                 $user->show_admin_bar_front = isset( $post_data['admin_bar_front'] ) ? 'true' : 'false'; 
     94                $user->rich_editing = isset( $_POST['rich_editing'] ) && 'false' == $_POST['rich_editing'] ? 'false' : 'true'; 
     95                $user->admin_color = isset( $_POST['admin_color'] ) ? sanitize_text_field( $_POST['admin_color'] ) : 'fresh'; 
     96                $user->show_admin_bar_front = isset( $_POST['admin_bar_front'] ) ? 'true' : 'false'; 
    10097        } 
    10198 
    102         $user->comment_shortcuts = isset( $post_data['comment_shortcuts'] ) && 'true' == $post_data['comment_shortcuts'] ? 'true' : ''; 
     99        $user->comment_shortcuts = isset( $_POST['comment_shortcuts'] ) && 'true' == $_POST['comment_shortcuts'] ? 'true' : ''; 
    103100 
    104101        $user->use_ssl = 0; 
    105         if ( !empty($post_data['use_ssl']) ) 
     102        if ( !empty($_POST['use_ssl']) ) 
    106103                $user->use_ssl = 1; 
    107104 
    108105        $errors = new WP_Error(); 
     
    127124        } 
    128125 
    129126        /* Check for "\" in password */ 
    130         if ( false !== strpos( $pass1, "\\" ) ) 
     127        if ( false !== strpos( stripslashes($pass1), "\\" ) ) 
    131128                $errors->add( 'pass', __( '<strong>ERROR</strong>: Passwords may not contain the character "\\".' ), array( 'form-field' => 'pass1' ) ); 
    132129 
    133130        /* checking the password has been typed twice the same */ 
     
    137134        if ( !empty( $pass1 ) ) 
    138135                $user->user_pass = $pass1; 
    139136 
    140         if ( !$update && isset( $post_data['user_login'] ) && !validate_username( $post_data['user_login'] ) ) 
     137        if ( !$update && isset( $_POST['user_login'] ) && !validate_username( $_POST['user_login'] ) ) 
    141138                $errors->add( 'user_login', __( '<strong>ERROR</strong>: This username is invalid because it uses illegal characters. Please enter a valid username.' )); 
    142139 
    143140        if ( !$update && username_exists( $user->user_login ) ) 
     
    162159                $user_id = wp_update_user( $user ); 
    163160        } else { 
    164161                $user_id = wp_insert_user( $user ); 
    165                 wp_new_user_notification( $user_id, isset($post_data['send_password']) ? $pass1 : '' ); 
     162                wp_new_user_notification( $user_id, isset($_POST['send_password']) ? $pass1 : '' ); 
    166163        } 
    167164        return $user_id; 
    168165} 
  • wp-admin/includes/media.php

     
    444444        } 
    445445 
    446446        if ( !empty($_POST['attachments']) ) foreach ( $_POST['attachments'] as $attachment_id => $attachment ) { 
    447                 $attachment = wp_unslash( $attachment ); 
    448          
    449447                $post = $_post = get_post($attachment_id, ARRAY_A); 
    450448                $post_type_object = get_post_type_object( $post[ 'post_type' ] ); 
    451449 
     
    470468 
    471469                if ( isset($attachment['image_alt']) ) { 
    472470                        $image_alt = get_post_meta($attachment_id, '_wp_attachment_image_alt', true); 
    473                         if ( $image_alt != $attachment['image_alt'] ) { 
    474                                 $image_alt = wp_strip_all_tags( $attachment['image_alt'], true ); 
    475                                 wp_update_post_meta( $attachment_id, '_wp_attachment_image_alt', $image_alt ); 
     471                        if ( $image_alt != stripslashes($attachment['image_alt']) ) { 
     472                                $image_alt = wp_strip_all_tags( stripslashes($attachment['image_alt']), true ); 
     473                                // update_meta expects slashed 
     474                                update_post_meta( $attachment_id, '_wp_attachment_image_alt', addslashes($image_alt) ); 
    476475                        } 
    477476                } 
    478477 
     
    502501        } 
    503502 
    504503        if ( isset($send_id) ) { 
    505                 $attachment = wp_unslash( $_POST['attachments'][$send_id] ); 
     504                $attachment = stripslashes_deep( $_POST['attachments'][$send_id] ); 
    506505 
    507506                $html = isset( $attachment['post_title'] ) ? $attachment['post_title'] : ''; 
    508507                if ( !empty($attachment['url']) ) { 
     
    547546                        $src = "http://$src"; 
    548547 
    549548                if ( isset( $_POST['media_type'] ) && 'image' != $_POST['media_type'] ) { 
    550                         $title = esc_html( wp_unslash( $_POST['title'] ) ); 
     549                        $title = esc_html( stripslashes( $_POST['title'] ) ); 
    551550                        if ( empty( $title ) ) 
    552551                                $title = esc_html( basename( $src ) ); 
    553552 
     
    562561                        $html = apply_filters( $type . '_send_to_editor_url', $html, esc_url_raw( $src ), $title ); 
    563562                } else { 
    564563                        $align = ''; 
    565                         $alt = esc_attr( wp_unslash( $_POST['alt'] ) ); 
     564                        $alt = esc_attr( stripslashes( $_POST['alt'] ) ); 
    566565                        if ( isset($_POST['align']) ) { 
    567                                 $align = esc_attr( wp_unslash( $_POST['align'] ) ); 
     566                                $align = esc_attr( stripslashes( $_POST['align'] ) ); 
    568567                                $class = " class='align$align'"; 
    569568                        } 
    570569                        if ( !empty($src) ) 
  • wp-admin/edit-tags.php

     
    4747        if ( !current_user_can( $tax->cap->edit_terms ) ) 
    4848                wp_die( __( 'Cheatin&#8217; uh?' ) ); 
    4949 
    50         $post_data = wp_unslash( $_POST ); 
    51  
    52         $ret = wp_insert_term( $post_data['tag-name'], $taxonomy, $post_data ); 
     50        $ret = wp_insert_term( $_POST['tag-name'], $taxonomy, $_POST ); 
    5351        $location = 'edit-tags.php?taxonomy=' . $taxonomy; 
    5452        if ( 'post' != $post_type ) 
    5553                $location .= '&post_type=' . $post_type; 
     
    134132break; 
    135133 
    136134case 'editedtag': 
    137  
    138         $post_data = wp_unslash( $_POST ); 
    139  
    140         $tag_ID = (int) $post_data['tag_ID']; 
     135        $tag_ID = (int) $_POST['tag_ID']; 
    141136        check_admin_referer( 'update-tag_' . $tag_ID ); 
    142137 
    143138        if ( !current_user_can( $tax->cap->edit_terms ) ) 
     
    147142        if ( ! $tag ) 
    148143                wp_die( __( 'You attempted to edit an item that doesn&#8217;t exist. Perhaps it was deleted?' ) ); 
    149144 
    150         $ret = wp_update_term( $tag_ID, $taxonomy, $post_data ); 
     145        $ret = wp_update_term( $tag_ID, $taxonomy, $_POST ); 
    151146 
    152147        $location = 'edit-tags.php?taxonomy=' . $taxonomy; 
    153148        if ( 'post' != $post_type ) 
     
    169164 
    170165default: 
    171166if ( ! empty($_REQUEST['_wp_http_referer']) ) { 
    172         $location = remove_query_arg( array('_wp_http_referer', '_wpnonce'), wp_unslash( $_SERVER['REQUEST_URI'] ) ); 
     167        $location = remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ); 
    173168 
    174169        if ( ! empty( $_REQUEST['paged'] ) ) 
    175170                $location = add_query_arg( 'paged', (int) $_REQUEST['paged'] ); 
     
    269264<div class="wrap nosubsub"> 
    270265<?php screen_icon(); ?> 
    271266<h2><?php echo esc_html( $title ); 
    272 if ( ! empty($_REQUEST['s']) ) 
    273         printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( wp_unslash( $_REQUEST['s'] ) ) ); ?> 
     267if ( !empty($_REQUEST['s']) ) 
     268        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( stripslashes($_REQUEST['s']) ) ); ?> 
    274269</h2> 
    275270 
    276271<?php if ( isset($_REQUEST['message']) && ( $msg = (int) $_REQUEST['message'] ) ) : ?> 
  • wp-admin/update.php

     
    2626                check_admin_referer( 'bulk-update-plugins' ); 
    2727 
    2828                if ( isset( $_GET['plugins'] ) ) 
    29                         $plugins = explode( ',', wp_unslash($_GET['plugins']) ); 
     29                        $plugins = explode( ',', stripslashes($_GET['plugins']) ); 
    3030                elseif ( isset( $_POST['checked'] ) ) 
    3131                        $plugins = (array) $_POST['checked']; 
    3232                else 
     
    109109                $nonce = 'install-plugin_' . $plugin; 
    110110                $url = 'update.php?action=install-plugin&plugin=' . $plugin; 
    111111                if ( isset($_GET['from']) ) 
    112                         $url .= '&from=' . urlencode( wp_unslash( $_GET['from'] ) ); 
     112                        $url .= '&from=' . urlencode(stripslashes($_GET['from'])); 
    113113 
    114114                $type = 'web'; //Install plugin type, From Web or an Upload. 
    115115 
     
    173173                check_admin_referer( 'bulk-update-themes' ); 
    174174 
    175175                if ( isset( $_GET['themes'] ) ) 
    176                         $themes = explode( ',', wp_unslash( $_GET['themes'] ) ); 
     176                        $themes = explode( ',', stripslashes($_GET['themes']) ); 
    177177                elseif ( isset( $_POST['checked'] ) ) 
    178178                        $themes = (array) $_POST['checked']; 
    179179                else 
  • wp-admin/theme-editor.php

     
    6868        $relative_file = 'style.css'; 
    6969        $file = $allowed_files['style.css']; 
    7070} else { 
    71         $relative_file = $file; 
     71        $relative_file = stripslashes( $file ); 
    7272        $file = $theme->get_stylesheet_directory() . '/' . $relative_file; 
    7373} 
    7474 
     
    7878switch( $action ) { 
    7979case 'update': 
    8080        check_admin_referer( 'edit-theme_' . $file . $stylesheet ); 
    81         $newcontent = wp_unslash( $_POST['newcontent'] ); 
     81        $newcontent = stripslashes( $_POST['newcontent'] ); 
    8282        $location = 'theme-editor.php?file=' . urlencode( $relative_file ) . '&theme=' . urlencode( $stylesheet ) . '&scrollto=' . $scrollto; 
    8383        if ( is_writeable( $file ) ) { 
    8484                //is_writable() not always reliable, check return value. see comments @ http://uk.php.net/is_writable 
  • wp-admin/admin.php

     
    4343        do_action('after_db_upgrade'); 
    4444} elseif ( get_option('db_version') != $wp_db_version && empty($_POST) ) { 
    4545        if ( !is_multisite() ) { 
    46                 wp_redirect( admin_url( 'upgrade.php?_wp_http_referer=' . urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ) ) ); 
     46                wp_redirect(admin_url('upgrade.php?_wp_http_referer=' . urlencode(stripslashes($_SERVER['REQUEST_URI'])))); 
    4747                exit; 
    4848        } elseif ( apply_filters( 'do_mu_upgrade', true ) ) { 
    4949                /** 
     
    8282$editing = false; 
    8383 
    8484if ( isset($_GET['page']) ) { 
    85         $plugin_page = wp_unslash( $_GET['page'] ); 
     85        $plugin_page = stripslashes($_GET['page']); 
    8686        $plugin_page = plugin_basename($plugin_page); 
    8787} 
    8888 
  • wp-admin/custom-header.php

     
    948948                                'width'         => $choice['width'], 
    949949                        ); 
    950950 
    951                         wp_update_post_meta( $choice['attachment_id'], '_wp_attachment_is_custom_header', get_stylesheet() ); 
     951                        update_post_meta( $choice['attachment_id'], '_wp_attachment_is_custom_header', get_stylesheet() ); 
    952952                        set_theme_mod( 'header_image', $choice['url'] ); 
    953953                        set_theme_mod( 'header_image_data', $header_image_data ); 
    954954                        return; 
  • wp-admin/user-new.php

     
    112112                } 
    113113        } else { 
    114114                // Adding a new user to this blog 
    115                 $user_details = wpmu_validate_user_signup( wp_unslash( $_REQUEST[ 'user_login' ] ), wp_unslash( $_REQUEST[ 'email' ] ) ); 
     115                $user_details = wpmu_validate_user_signup( $_REQUEST[ 'user_login' ], $_REQUEST[ 'email' ] ); 
    116116                if ( is_wp_error( $user_details[ 'errors' ] ) && !empty( $user_details[ 'errors' ]->errors ) ) { 
    117117                        $add_user_errors = $user_details[ 'errors' ]; 
    118118                } else { 
    119                         $new_user_login = apply_filters('pre_user_login', sanitize_user( wp_unslash( $_REQUEST['user_login'] ), true ) ); 
     119                        $new_user_login = apply_filters('pre_user_login', sanitize_user(stripslashes($_REQUEST['user_login']), true)); 
    120120                        if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) { 
    121121                                add_filter( 'wpmu_signup_user_notification', '__return_false' ); // Disable confirmation email 
    122122                        } 
    123                         wpmu_signup_user( $new_user_login, wp_unslash( $_REQUEST[ 'email' ] ), array( 'add_to_blog' => $wpdb->blogid, 'new_role' => $_REQUEST[ 'role' ] ) ); 
     123                        wpmu_signup_user( $new_user_login, $_REQUEST[ 'email' ], array( 'add_to_blog' => $wpdb->blogid, 'new_role' => $_REQUEST[ 'role' ] ) ); 
    124124                        if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) { 
    125125                                $key = $wpdb->get_var( $wpdb->prepare( "SELECT activation_key FROM {$wpdb->signups} WHERE user_login = %s AND user_email = %s", $new_user_login, $_REQUEST[ 'email' ] ) ); 
    126126                                wpmu_activate_signup( $key ); 
     
    309309        $var = "new_user_$var"; 
    310310        if( isset( $_POST['createuser'] ) ) { 
    311311                if ( ! isset($$var) ) 
    312                         $$var = isset( $_POST[$post_field] ) ? wp_unslash( $_POST[$post_field] ) : ''; 
     312                        $$var = isset( $_POST[$post_field] ) ? stripslashes( $_POST[$post_field] ) : ''; 
    313313        } else { 
    314314                $$var = false; 
    315315        } 
  • wp-admin/media.php

     
    3232                } 
    3333                if ( false !== strpos($location, 'upload.php') ) { 
    3434                        $location = remove_query_arg('message', $location); 
    35                         $location = add_query_arg('posted', $attachment_id, $location); 
     35                        $location = add_query_arg('posted',     $attachment_id, $location); 
    3636                } elseif ( false !== strpos($location, 'media.php') ) { 
    3737                        $location = add_query_arg('message', 'updated', $location); 
    3838                } 
  • wp-admin/edit-link-form.php

     
    126126if ( $link_id ) : ?> 
    127127<input type="hidden" name="action" value="save" /> 
    128128<input type="hidden" name="link_id" value="<?php echo (int) $link_id; ?>" /> 
     129<input type="hidden" name="order_by" value="<?php echo esc_attr($order_by); ?>" /> 
    129130<input type="hidden" name="cat_id" value="<?php echo (int) $cat_id ?>" /> 
    130131<?php else: ?> 
    131132<input type="hidden" name="action" value="add" /> 
  • wp-admin/upload.php

     
    132132        wp_redirect( $location ); 
    133133        exit; 
    134134} elseif ( ! empty( $_GET['_wp_http_referer'] ) ) { 
    135          wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ); 
     135         wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), stripslashes( $_SERVER['REQUEST_URI'] ) ) ); 
    136136         exit; 
    137137} 
    138138 
  • wp-admin/edit-form-comment.php

     
    132132 
    133133<input type="hidden" name="c" value="<?php echo esc_attr($comment->comment_ID) ?>" /> 
    134134<input type="hidden" name="p" value="<?php echo esc_attr($comment->comment_post_ID) ?>" /> 
    135 <input name="referredby" type="hidden" id="referredby" value="<?php echo esc_url( wp_get_referer() ); ?>" /> 
     135<input name="referredby" type="hidden" id="referredby" value="<?php echo esc_url(stripslashes(wp_get_referer())); ?>" /> 
    136136<?php wp_original_referer_field(true, 'previous'); ?> 
    137137<input type="hidden" name="noredir" value="1" /> 
    138138 
  • wp-admin/edit-form-advanced.php

     
    314314<input type="hidden" id="post_author" name="post_author" value="<?php echo esc_attr( $post->post_author ); ?>" /> 
    315315<input type="hidden" id="post_type" name="post_type" value="<?php echo esc_attr( $post_type ) ?>" /> 
    316316<input type="hidden" id="original_post_status" name="original_post_status" value="<?php echo esc_attr( $post->post_status) ?>" /> 
    317 <input type="hidden" id="referredby" name="referredby" value="<?php echo esc_url( wp_get_referer() ); ?>" /> 
     317<input type="hidden" id="referredby" name="referredby" value="<?php echo esc_url(stripslashes(wp_get_referer())); ?>" /> 
    318318<?php if ( ! empty( $active_post_lock ) ) { ?> 
    319319<input type="hidden" id="active_post_lock" value="<?php echo esc_attr( implode( ':', $active_post_lock ) ); ?>" /> 
    320320<?php 
  • wp-admin/network/site-new.php

     
    3838 
    3939        if ( ! is_array( $_POST['blog'] ) ) 
    4040                wp_die( __( 'Can&#8217;t create an empty site.' ) ); 
    41         $blog = wp_unslash( $_POST['blog'] ); 
     41        $blog = $_POST['blog']; 
    4242        $domain = ''; 
    4343        if ( preg_match( '|^([a-zA-Z0-9-])+$|', $blog['domain'] ) ) 
    4444                $domain = strtolower( $blog['domain'] ); 
     
    8888                $content_mail = sprintf( __( 'New site created by %1$s 
    8989 
    9090Address: %2$s 
    91 Name: %3$s' ), $current_user->user_login , get_site_url( $id ), $title ); 
     91Name: %3$s' ), $current_user->user_login , get_site_url( $id ), stripslashes( $title ) ); 
    9292                wp_mail( get_site_option('admin_email'), sprintf( __( '[%s] New Site Created' ), $current_site->site_name ), $content_mail, 'From: "Site Admin" <' . get_site_option( 'admin_email' ) . '>' ); 
    9393                wpmu_welcome_notification( $id, $user_id, $password, $title, array( 'public' => 1 ) ); 
    9494                wp_redirect( add_query_arg( array( 'update' => 'added', 'id' => $id ), 'site-new.php' ) ); 
  • wp-admin/network/site-info.php

     
    6262        delete_option( 'rewrite_rules' ); 
    6363 
    6464        // update blogs table 
    65         $blog_data = wp_unslash( $_POST['blog'] ); 
     65        $blog_data = stripslashes_deep( $_POST['blog'] ); 
    6666        $existing_details = get_blog_details( $id, false ); 
    6767        $blog_data_checkboxes = array( 'public', 'archived', 'spam', 'mature', 'deleted' ); 
    6868        foreach ( $blog_data_checkboxes as $c ) { 
  • wp-admin/network/settings.php

     
    6161        foreach ( $options as $option_name ) { 
    6262                if ( ! isset($_POST[$option_name]) ) 
    6363                        continue; 
    64                 $value = wp_unslash( $_POST[$option_name] ); 
     64                $value = stripslashes_deep( $_POST[$option_name] ); 
    6565                update_site_option( $option_name, $value ); 
    6666        } 
    6767 
     
    181181                                <th scope="row"><label for="welcome_email"><?php _e( 'Welcome Email' ) ?></label></th> 
    182182                                <td> 
    183183                                        <textarea name="welcome_email" id="welcome_email" rows="5" cols="45" class="large-text"> 
    184 <?php echo esc_textarea( get_site_option( 'welcome_email' ) ) ?></textarea> 
     184<?php echo esc_textarea( stripslashes( get_site_option( 'welcome_email' ) ) ) ?></textarea> 
    185185                                        <br /> 
    186186                                        <?php _e( 'The welcome email sent to new site owners.' ) ?> 
    187187                                </td> 
     
    190190                                <th scope="row"><label for="welcome_user_email"><?php _e( 'Welcome User Email' ) ?></label></th> 
    191191                                <td> 
    192192                                        <textarea name="welcome_user_email" id="welcome_user_email" rows="5" cols="45" class="large-text"> 
    193 <?php echo esc_textarea( get_site_option( 'welcome_user_email' ) ) ?></textarea> 
     193<?php echo esc_textarea( stripslashes( get_site_option( 'welcome_user_email' ) ) ) ?></textarea> 
    194194                                        <br /> 
    195195                                        <?php _e( 'The welcome email sent to new users.' ) ?> 
    196196                                </td> 
     
    199199                                <th scope="row"><label for="first_post"><?php _e( 'First Post' ) ?></label></th> 
    200200                                <td> 
    201201                                        <textarea name="first_post" id="first_post" rows="5" cols="45" class="large-text"> 
    202 <?php echo esc_textarea( get_site_option( 'first_post' ) ) ?></textarea> 
     202<?php echo esc_textarea( stripslashes( get_site_option( 'first_post' ) ) ) ?></textarea> 
    203203                                        <br /> 
    204204                                        <?php _e( 'The first post on a new site.' ) ?> 
    205205                                </td> 
     
    208208                                <th scope="row"><label for="first_page"><?php _e( 'First Page' ) ?></label></th> 
    209209                                <td> 
    210210                                        <textarea name="first_page" id="first_page" rows="5" cols="45" class="large-text"> 
    211 <?php echo esc_textarea( get_site_option( 'first_page' ) ) ?></textarea> 
     211<?php echo esc_textarea( stripslashes( get_site_option('first_page') ) ) ?></textarea> 
    212212                                        <br /> 
    213213                                        <?php _e( 'The first page on a new site.' ) ?> 
    214214                                </td> 
     
    217217                                <th scope="row"><label for="first_comment"><?php _e( 'First Comment' ) ?></label></th> 
    218218                                <td> 
    219219                                        <textarea name="first_comment" id="first_comment" rows="5" cols="45" class="large-text"> 
    220 <?php echo esc_textarea( get_site_option( 'first_comment' ) ) ?></textarea> 
     220<?php echo esc_textarea( stripslashes( get_site_option('first_comment') ) ) ?></textarea> 
    221221                                        <br /> 
    222222                                        <?php _e( 'The first comment on a new site.' ) ?> 
    223223                                </td> 
  • wp-admin/network/site-settings.php

     
    5353        $count = count( $_POST['option'] ); 
    5454        $skip_options = array( 'allowedthemes' ); // Don't update these options since they are handled elsewhere in the form. 
    5555        foreach ( (array) $_POST['option'] as $key => $val ) { 
    56                 $key = wp_unslash( $key ); 
    57                 $val = wp_unslash( $val ); 
    5856                if ( $key === 0 || is_array( $val ) || in_array($key, $skip_options) ) 
    5957                        continue; // Avoids "0 is a protected WP option and may not be modified" error when edit blog options 
    6058                if ( $c == $count ) 
    61                         update_option( $key, $val ); 
     59                        update_option( $key, stripslashes( $val ) ); 
    6260                else 
    63                         update_option( $key, $val, false ); // no need to refresh blog details yet 
     61                        update_option( $key, stripslashes( $val ), false ); // no need to refresh blog details yet 
    6462                $c++; 
    6563        } 
    6664 
  • wp-admin/network/sites.php

     
    7979                                        <input type="hidden" name="id" value="<?php echo esc_attr( $id ); ?>" /> 
    8080                                        <input type="hidden" name="_wp_http_referer" value="<?php echo esc_attr( wp_get_referer() ); ?>" /> 
    8181                                        <?php wp_nonce_field( $_GET['action2'], '_wpnonce', false ); ?> 
    82                                         <p><?php echo esc_html( wp_unslash( $_GET['msg'] ) ); ?></p> 
     82                                        <p><?php echo esc_html( stripslashes( $_GET['msg'] ) ); ?></p> 
    8383                                        <?php submit_button( __('Confirm'), 'button' ); ?> 
    8484                                </form> 
    8585                        </body> 
  • wp-admin/nav-menus.php

     
    9393                                                if ( ! is_wp_error( $parent_object ) ) { 
    9494                                                        $parent_data = (array) $parent_object; 
    9595                                                        $menu_item_data['menu_item_parent'] = $parent_data['menu_item_parent']; 
    96                                                         wp_update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] ); 
     96                                                        update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] ); 
    9797 
    9898                                                } 
    9999 
     
    103103                                                $menu_item_data['menu_order'] = $menu_item_data['menu_order'] + 1; 
    104104 
    105105                                                $menu_item_data['menu_item_parent'] = $next_item_data['ID']; 
    106                                                 wp_update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] ); 
     106                                                update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] ); 
    107107 
    108108                                                wp_update_post($menu_item_data); 
    109109                                                wp_update_post($next_item_data); 
     
    115115                                        in_array( $menu_item_data['menu_item_parent'], $orders_to_dbids ) 
    116116                                ) { 
    117117                                        $menu_item_data['menu_item_parent'] = (int) get_post_meta( $menu_item_data['menu_item_parent'], '_menu_item_menu_item_parent', true); 
    118                                         wp_update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] ); 
     118                                        update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] ); 
    119119                                } 
    120120                        } 
    121121                } 
     
    190190                                                        $menu_item_data['menu_order'] = $menu_item_data['menu_order'] - 1; 
    191191 
    192192                                                        // save changes 
    193                                                         wp_update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] ); 
     193                                                        update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] ); 
    194194                                                        wp_update_post($menu_item_data); 
    195195                                                        wp_update_post($parent_data); 
    196196                                                } 
     
    205205                                        ) { 
    206206                                                // just make it a child of the previous; keep the order 
    207207                                                $menu_item_data['menu_item_parent'] = (int) $orders_to_dbids[$dbids_to_orders[$menu_item_id] - 1]; 
    208                                                 wp_update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] ); 
     208                                                update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] ); 
    209209                                                wp_update_post($menu_item_data); 
    210210                                        } 
    211211                                } 
  • wp-admin/edit.php

     
    138138        wp_redirect($sendback); 
    139139        exit(); 
    140140} elseif ( ! empty($_REQUEST['_wp_http_referer']) ) { 
    141          wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ); 
     141         wp_redirect( remove_query_arg( array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']) ) ); 
    142142         exit; 
    143143} 
    144144 
  • wp-admin/upgrade.php

     
    7777<?php else : 
    7878switch ( $step ) : 
    7979        case 0: 
    80                 $goback = wp_get_referer(); 
     80                $goback = stripslashes( wp_get_referer() ); 
    8181                $goback = esc_url_raw( $goback ); 
    8282                $goback = urlencode( $goback ); 
    8383?> 
     
    9090        case 1: 
    9191                wp_upgrade(); 
    9292 
    93                         $backto = !empty($_GET['backto']) ? wp_unslash( urldecode( $_GET['backto'] ) ) : __get_option( 'home' ) . '/'; 
     93                        $backto = !empty($_GET['backto']) ? stripslashes( urldecode( $_GET['backto'] ) ) : __get_option( 'home' ) . '/'; 
    9494                        $backto = esc_url( $backto ); 
    9595                        $backto = wp_validate_redirect($backto, __get_option( 'home' ) . '/'); 
    9696?> 
  • wp-admin/options.php

     
    120120        if ( 'options' == $option_page ) { 
    121121                if ( is_multisite() && ! is_super_admin() ) 
    122122                        wp_die( __( 'You do not have sufficient permissions to modify unregistered settings for this site.' ) ); 
    123                 $options = explode( ',', wp_unslash( $_POST[ 'page_options' ] ) ); 
     123                $options = explode( ',', stripslashes( $_POST[ 'page_options' ] ) ); 
    124124        } else { 
    125125                $options = $whitelist_options[ $option_page ]; 
    126126        } 
    127127 
    128128        // Handle custom date/time formats 
    129129        if ( 'general' == $option_page ) { 
    130                 if ( !empty($_POST['date_format']) && isset($_POST['date_format_custom']) && '\c\u\s\t\o\m' == wp_unslash( $_POST['date_format'] ) ) 
     130                if ( !empty($_POST['date_format']) && isset($_POST['date_format_custom']) && '\c\u\s\t\o\m' == stripslashes( $_POST['date_format'] ) ) 
    131131                        $_POST['date_format'] = $_POST['date_format_custom']; 
    132                 if ( !empty($_POST['time_format']) && isset($_POST['time_format_custom']) && '\c\u\s\t\o\m' == wp_unslash( $_POST['time_format'] ) ) 
     132                if ( !empty($_POST['time_format']) && isset($_POST['time_format_custom']) && '\c\u\s\t\o\m' == stripslashes( $_POST['time_format'] ) ) 
    133133                        $_POST['time_format'] = $_POST['time_format_custom']; 
    134134                // Map UTC+- timezones to gmt_offsets and set timezone_string to empty. 
    135135                if ( !empty($_POST['timezone_string']) && preg_match('/^UTC[+-]/', $_POST['timezone_string']) ) { 
     
    150150                                $value = $_POST[ $option ]; 
    151151                                if ( ! is_array( $value ) ) 
    152152                                        $value = trim( $value ); 
    153                                 $value = wp_unslash( $value ); 
     153                                $value = stripslashes_deep( $value ); 
    154154                        } 
    155155                        update_option( $option, $value ); 
    156156                } 
  • wp-admin/user-edit.php

     
    5454    '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' 
    5555); 
    5656 
    57 $wp_http_referer = remove_query_arg(array('update', 'delete_count'), $wp_http_referer ); 
     57$wp_http_referer = remove_query_arg(array('update', 'delete_count'), stripslashes($wp_http_referer)); 
    5858 
    5959$user_can_edit = current_user_can( 'edit_posts' ) || current_user_can( 'edit_pages' ); 
    6060 
  • wp-admin/press-this.php

     
    9191} 
    9292 
    9393// Set Variables 
    94 $title = isset( $_GET['t'] ) ? trim( strip_tags( html_entity_decode( wp_unslash( $_GET['t'] ) , ENT_QUOTES) ) ) : ''; 
     94$title = isset( $_GET['t'] ) ? trim( strip_tags( html_entity_decode( stripslashes( $_GET['t'] ) , ENT_QUOTES) ) ) : ''; 
    9595 
    9696$selection = ''; 
    9797if ( !empty($_GET['s']) ) { 
    98         $selection = str_replace('&apos;', "'", wp_unslash($_GET['s'])); 
     98        $selection = str_replace('&apos;', "'", stripslashes($_GET['s'])); 
    9999        $selection = trim( htmlspecialchars( html_entity_decode($selection, ENT_QUOTES) ) ); 
    100100} 
    101101 
  • wp-admin/setup-config.php

     
    164164 
    165165        case 2: 
    166166        foreach ( array( 'dbname', 'uname', 'pwd', 'dbhost', 'prefix' ) as $key ) 
    167                 $$key = trim( wp_unslash( $_POST[ $key ] ) ); 
     167                $$key = trim( stripslashes( $_POST[ $key ] ) ); 
    168168 
    169169        $tryagain_link = '</p><p class="step"><a href="setup-config.php?step=1" onclick="javascript:history.go(-1);return false;" class="button button-large">' . __( 'Try again' ) . '</a>'; 
    170170 
  • wp-admin/link-manager.php

     
    3131                exit; 
    3232        } 
    3333} elseif ( ! empty( $_GET['_wp_http_referer'] ) ) { 
    34          wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ); 
     34         wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), stripslashes( $_SERVER['REQUEST_URI'] ) ) ); 
    3535         exit; 
    3636} 
    3737 
     
    7272<?php screen_icon(); ?> 
    7373<h2><?php echo esc_html( $title ); ?> <a href="link-add.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'link'); ?></a> <?php 
    7474if ( !empty($_REQUEST['s']) ) 
    75         printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( wp_unslash($_REQUEST['s']) ) ); ?> 
     75        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( stripslashes($_REQUEST['s']) ) ); ?> 
    7676</h2> 
    7777 
    7878<?php 
  • wp-admin/install.php

     
    8484        if ( ! empty( $_POST ) ) 
    8585                $blog_public = isset( $_POST['blog_public'] ); 
    8686 
    87         $weblog_title = isset( $_POST['weblog_title'] ) ? trim( wp_unslash( $_POST['weblog_title'] ) ) : ''; 
    88         $user_name = isset($_POST['user_name']) ? trim( wp_unslash( $_POST['user_name'] ) ) : 'admin'; 
    89         $admin_password = isset($_POST['admin_password']) ? trim( wp_unslash( $_POST['admin_password'] ) ) : ''; 
    90         $admin_email  = isset( $_POST['admin_email']  ) ? trim( wp_unslash( $_POST['admin_email'] ) ) : ''; 
     87        $weblog_title = isset( $_POST['weblog_title'] ) ? trim( stripslashes( $_POST['weblog_title'] ) ) : ''; 
     88        $user_name = isset($_POST['user_name']) ? trim( stripslashes( $_POST['user_name'] ) ) : 'admin'; 
     89        $admin_password = isset($_POST['admin_password']) ? trim( stripslashes( $_POST['admin_password'] ) ) : ''; 
     90        $admin_email  = isset( $_POST['admin_email']  ) ? trim( stripslashes( $_POST['admin_email'] ) ) : ''; 
    9191 
    9292        if ( ! is_null( $error ) ) { 
    9393?> 
     
    189189 
    190190                display_header(); 
    191191                // Fill in the data we gathered 
    192                 $weblog_title = isset( $_POST['weblog_title'] ) ? trim( wp_unslash( $_POST['weblog_title'] ) ) : ''; 
    193                 $user_name = isset($_POST['user_name']) ? trim( wp_unslash( $_POST['user_name'] ) ) : 'admin'; 
    194                 $admin_password = isset($_POST['admin_password']) ? wp_unslash( $_POST['admin_password'] ) : ''; 
    195                 $admin_password_check = isset($_POST['admin_password2']) ? wp_unslash( $_POST['admin_password2'] ) : ''; 
    196                 $admin_email  = isset( $_POST['admin_email']  ) ?trim( wp_unslash( $_POST['admin_email'] ) ) : ''; 
     192                $weblog_title = isset( $_POST['weblog_title'] ) ? trim( stripslashes( $_POST['weblog_title'] ) ) : ''; 
     193                $user_name = isset($_POST['user_name']) ? trim( stripslashes( $_POST['user_name'] ) ) : 'admin'; 
     194                $admin_password = isset($_POST['admin_password']) ? $_POST['admin_password'] : ''; 
     195                $admin_password_check = isset($_POST['admin_password2']) ? $_POST['admin_password2'] : ''; 
     196                $admin_email  = isset( $_POST['admin_email']  ) ?trim( stripslashes( $_POST['admin_email'] ) ) : ''; 
    197197                $public       = isset( $_POST['blog_public']  ) ? (int) $_POST['blog_public'] : 0; 
    198198                // check e-mail address 
    199199                $error = false; 
  • wp-admin/plugin-editor.php

     
    2828        wp_die( __('There are no plugins installed on this site.') ); 
    2929 
    3030if ( isset($_REQUEST['file']) ) 
    31         $plugin = wp_unslash($_REQUEST['file']); 
     31        $plugin = stripslashes($_REQUEST['file']); 
    3232 
    3333if ( empty($plugin) ) { 
    3434        $plugin = array_keys($plugins); 
     
    3939 
    4040if ( empty($file) ) 
    4141        $file = $plugin_files[0]; 
     42else 
     43        $file = stripslashes($file); 
    4244 
    4345$file = validate_file_to_edit($file, $plugin_files); 
    4446$real_file = WP_PLUGIN_DIR . '/' . $file; 
     
    5052 
    5153        check_admin_referer('edit-plugin_' . $file); 
    5254 
    53         $newcontent = wp_unslash( $_POST['newcontent'] ); 
     55        $newcontent = stripslashes($_POST['newcontent']); 
    5456        if ( is_writeable($real_file) ) { 
    5557                $f = fopen($real_file, 'w+'); 
    5658                fwrite($f, $newcontent); 
  • wp-admin/custom-background.php

     
    378378 
    379379                // Add the meta-data 
    380380                wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) ); 
    381                 wp_update_post_meta( $id, '_wp_attachment_is_custom_background', get_option('stylesheet' ) ); 
     381                update_post_meta( $id, '_wp_attachment_is_custom_background', get_option('stylesheet' ) ); 
    382382 
    383383                set_theme_mod('background_image', esc_url_raw($url)); 
    384384 
     
    415415                if ( in_array( $_POST['size'], $sizes ) ) 
    416416                        $size = esc_attr( $_POST['size'] ); 
    417417 
    418                 wp_update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', get_option('stylesheet' ) ); 
     418                update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', get_option('stylesheet' ) ); 
    419419                $url = wp_get_attachment_image_src( $attachment_id, $size ); 
    420420                $thumbnail = wp_get_attachment_image_src( $attachment_id, 'thumbnail' ); 
    421421                set_theme_mod( 'background_image', esc_url_raw( $url[0] ) );