WordPress.org

Make WordPress Core

Changeset 19579


Ignore:
Timestamp:
12/10/11 18:26:48 (3 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.