WordPress.org

Make WordPress Core

Changeset 19579


Ignore:
Timestamp:
12/10/2011 06:26:48 PM (6 years ago)
Author:
ryan
Message:

Best practice, use wp_safe_redirect() when dealing with referrers. Props nacin.

Location:
trunk/wp-admin
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/edit-comments.php

    r19528 r19579  
    3131        $comment_ids = array_map( 'absint', explode( ',', $_REQUEST['ids'] ) );
    3232    } elseif ( wp_get_referer() ) {
    33         wp_redirect( wp_get_referer() );
     33        wp_safe_redirect( wp_get_referer() );
    3434        exit;
    3535    }
     
    9393        $redirect_to = add_query_arg( 'ids', join( ',', $comment_ids ), $redirect_to );
    9494
    95     wp_redirect( $redirect_to );
     95    wp_safe_redirect( $redirect_to );
    9696    exit;
    9797} elseif ( ! empty( $_GET['_wp_http_referer'] ) ) {
  • trunk/wp-admin/includes/misc.php

    r19368 r19579  
    368368
    369369        update_user_meta($user->ID, $option, $value);
    370         wp_redirect( remove_query_arg( array('pagenum', 'apage', 'paged'), wp_get_referer() ) );
     370        wp_safe_redirect( remove_query_arg( array('pagenum', 'apage', 'paged'), wp_get_referer() ) );
    371371        exit;
    372372    }
  • trunk/wp-admin/network/site-themes.php

    r19577 r19579  
    119119    restore_current_blog();
    120120
    121     wp_redirect( add_query_arg( array( 'id' => $id, $action => $n ), $referer ) );
     121    wp_safe_redirect( add_query_arg( array( 'id' => $id, $action => $n ), $referer ) );
    122122    exit;
    123123}
    124124
    125125if ( isset( $_GET['action'] ) && 'update-site' == $_GET['action'] ) {
    126     wp_redirect( $referer );
     126    wp_safe_redirect( $referer );
    127127    exit();
    128128}
  • trunk/wp-admin/network/site-users.php

    r19577 r19579  
    154154
    155155    restore_current_blog();
    156     wp_redirect( add_query_arg( 'update', $update, $referer ) );
     156    wp_safe_redirect( add_query_arg( 'update', $update, $referer ) );
    157157    exit();
    158158}
    159159
    160160if ( isset( $_GET['action'] ) && 'update-site' == $_GET['action'] ) {
    161     wp_redirect( $referer );
     161    wp_safe_redirect( $referer );
    162162    exit();
    163163}
  • trunk/wp-admin/network/sites.php

    r19514 r19579  
    6464            if ( $id != '0' && $id != $current_site->blog_id && current_user_can( 'delete_site', $id ) ) {
    6565                wpmu_delete_blog( $id, true );
    66                 wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'delete' ), wp_get_referer() ) );
     66                wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'delete' ), wp_get_referer() ) );
    6767            } else {
    68                 wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'not_deleted' ), wp_get_referer() ) );
     68                wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'not_deleted' ), wp_get_referer() ) );
    6969            }
    7070
     
    111111                }
    112112
    113                 wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $blogfunction ), wp_get_referer() ) );
     113                wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $blogfunction ), wp_get_referer() ) );
    114114            } else {
    115115                wp_redirect( network_admin_url( 'sites.php' ) );
     
    124124
    125125            update_blog_status( $id, 'archived', '1' );
    126             wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'archive' ), wp_get_referer() ) );
     126            wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'archive' ), wp_get_referer() ) );
    127127            exit();
    128128        break;
     
    134134
    135135            update_blog_status( $id, 'archived', '0' );
    136             wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unarchive' ), wp_get_referer() ) );
     136            wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unarchive' ), wp_get_referer() ) );
    137137            exit();
    138138        break;
     
    145145            update_blog_status( $id, 'deleted', '0' );
    146146            do_action( 'activate_blog', $id );
    147             wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'activate' ), wp_get_referer() ) );
     147            wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'activate' ), wp_get_referer() ) );
    148148            exit();
    149149        break;
     
    156156            do_action( 'deactivate_blog', $id );
    157157            update_blog_status( $id, 'deleted', '1' );
    158             wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'deactivate' ), wp_get_referer() ) );
     158            wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'deactivate' ), wp_get_referer() ) );
    159159            exit();
    160160        break;
     
    166166
    167167            update_blog_status( $id, 'spam', '0' );
    168             wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unspam' ), wp_get_referer() ) );
     168            wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unspam' ), wp_get_referer() ) );
    169169            exit();
    170170        break;
     
    176176
    177177            update_blog_status( $id, 'spam', '1' );
    178             wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'spam' ), wp_get_referer() ) );
     178            wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'spam' ), wp_get_referer() ) );
    179179            exit();
    180180        break;
     
    186186
    187187            update_blog_status( $id, 'mature', '0' );
    188             wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unmature' ), wp_get_referer() ) );
     188            wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unmature' ), wp_get_referer() ) );
    189189            exit();
    190190        break;
     
    196196
    197197            update_blog_status( $id, 'mature', '1' );
    198             wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'mature' ), wp_get_referer() ) );
     198            wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'mature' ), wp_get_referer() ) );
    199199            exit();
    200200        break;
  • trunk/wp-admin/network/themes.php

    r19577 r19579  
    4848            unset( $allowed_themes[ $_GET['theme'] ] );
    4949            update_site_option( 'allowedthemes', $allowed_themes );
    50             wp_redirect( add_query_arg( 'disabled', '1', $referer ) );
     50            wp_safe_redirect( add_query_arg( 'disabled', '1', $referer ) );
    5151            exit;
    5252            break;
     
    5555            $themes = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
    5656            if ( empty($themes) ) {
    57                 wp_redirect( add_query_arg( 'error', 'none', $referer ) );
     57                wp_safe_redirect( add_query_arg( 'error', 'none', $referer ) );
    5858                exit;
    5959            }
     
    6161                $allowed_themes[ $theme ] = true;
    6262            update_site_option( 'allowedthemes', $allowed_themes );
    63             wp_redirect( add_query_arg( 'enabled', count( $themes ), $referer ) );
     63            wp_safe_redirect( add_query_arg( 'enabled', count( $themes ), $referer ) );
    6464            exit;
    6565            break;
     
    6868            $themes = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
    6969            if ( empty($themes) ) {
    70                 wp_redirect( add_query_arg( 'error', 'none', $referer ) );
     70                wp_safe_redirect( add_query_arg( 'error', 'none', $referer ) );
    7171                exit;
    7272            }
     
    7474                unset( $allowed_themes[ $theme ] );
    7575            update_site_option( 'allowedthemes', $allowed_themes );
    76             wp_redirect( add_query_arg( 'disabled', count( $themes ), $referer ) );
     76            wp_safe_redirect( add_query_arg( 'disabled', count( $themes ), $referer ) );
    7777            exit;
    7878            break;
     
    118118
    119119            if ( empty( $themes ) ) {
    120                 wp_redirect( add_query_arg( 'error', 'none', $referer ) );
     120                wp_safe_redirect( add_query_arg( 'error', 'none', $referer ) );
    121121                exit;
    122122            }
     
    135135
    136136            if ( empty( $themes ) ) {
    137                 wp_redirect( add_query_arg( 'error', 'main', $referer ) );
     137                wp_safe_redirect( add_query_arg( 'error', 'main', $referer ) );
    138138                exit;
    139139            }
  • trunk/wp-admin/network/users.php

    r19577 r19579  
    167167                }
    168168
    169                 wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $userfunction ), wp_get_referer() ) );
     169                wp_safe_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $userfunction ), wp_get_referer() ) );
    170170            } else {
    171171                $location = network_admin_url( 'users.php' );
Note: See TracChangeset for help on using the changeset viewer.