Changeset 5915

Show
Ignore:
Timestamp:
08/22/07 18:00:48 (1 year ago)
Author:
ryan
Message:

Sanitize a few options

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/2.2/wp-admin/options.php

    r5833 r5915  
    1010if ( !current_user_can('manage_options') ) 
    1111    wp_die(__('Cheatin’ uh?')); 
    12  
    13 function sanitize_option($option, $value) { // Remember to call stripslashes! 
    14  
    15     switch ($option) { 
    16         case 'admin_email': 
    17             $value = stripslashes($value); 
    18             $value = sanitize_email($value); 
    19             break; 
    20  
    21         case 'default_post_edit_rows': 
    22         case 'mailserver_port': 
    23         case 'comment_max_links': 
    24             $value = stripslashes($value); 
    25             $value = abs((int) $value); 
    26             break; 
    27  
    28         case 'posts_per_page': 
    29         case 'posts_per_rss': 
    30             $value = stripslashes($value); 
    31             $value = (int) $value; 
    32             if ( empty($value) ) $value = 1; 
    33             if ( $value < -1 ) $value = abs($value); 
    34             break; 
    35  
    36         case 'default_ping_status': 
    37         case 'default_comment_status': 
    38             $value = stripslashes($value); 
    39             // Options that if not there have 0 value but need to be something like "closed" 
    40             if ( $value == '0' || $value == '') 
    41                 $value = 'closed'; 
    42             break; 
    43  
    44         case 'blogdescription': 
    45         case 'blogname': 
    46             if (current_user_can('unfiltered_html') == false) 
    47                 $value = wp_filter_post_kses( $value ); // calls stripslashes then addslashes 
    48             $value = stripslashes($value); 
    49             break; 
    50  
    51         case 'blog_charset': 
    52             $value = preg_replace('/[^a-zA-Z0-9_-]/', '', $value); // strips slashes 
    53             break; 
    54  
    55         case 'date_format': 
    56         case 'time_format': 
    57         case 'mailserver_url': 
    58         case 'mailserver_login': 
    59         case 'mailserver_pass': 
    60         case 'ping_sites': 
    61         case 'upload_path': 
    62             $value = strip_tags($value); 
    63             $value = wp_filter_kses($value); // calls stripslashes then addslashes 
    64             $value = stripslashes($value); 
    65             break; 
    66  
    67         case 'gmt_offset': 
    68             $value = preg_replace('/[^0-9:.-]/', '', $value); // strips slashes 
    69             break; 
    70  
    71         case 'siteurl': 
    72         case 'home': 
    73             $value = stripslashes($value); 
    74             $value = clean_url($value); 
    75             break; 
    76         default : 
    77             $value = stripslashes($value); 
    78             break; 
    79     } 
    80  
    81     return $value; 
    82 } 
    8312 
    8413switch($action) { 
  • branches/2.2/wp-includes/formatting.php

    r5735 r5915  
    11191119} 
    11201120 
     1121function sanitize_option($option, $value) { // Remember to call stripslashes! 
     1122 
     1123    switch ($option) { 
     1124        case 'admin_email': 
     1125            $value = sanitize_email($value); 
     1126            break; 
     1127 
     1128        case 'default_post_edit_rows': 
     1129        case 'mailserver_port': 
     1130        case 'comment_max_links': 
     1131        case 'page_on_front': 
     1132        case 'rss_excerpt_length': 
     1133        case 'default_category': 
     1134        case 'default_email_category': 
     1135        case 'default_link_category': 
     1136            $value = abs((int) $value); 
     1137            break; 
     1138 
     1139        case 'posts_per_page': 
     1140        case 'posts_per_rss': 
     1141            $value = (int) $value; 
     1142            if ( empty($value) ) $value = 1; 
     1143            if ( $value < -1 ) $value = abs($value); 
     1144            break; 
     1145 
     1146        case 'default_ping_status': 
     1147        case 'default_comment_status': 
     1148            // Options that if not there have 0 value but need to be something like "closed" 
     1149            if ( $value == '0' || $value == '') 
     1150                $value = 'closed'; 
     1151            break; 
     1152 
     1153        case 'blogdescription': 
     1154        case 'blogname': 
     1155            $value = addslashes($value); 
     1156            $value = wp_filter_post_kses( $value ); // calls stripslashes then addslashes 
     1157            $value = stripslashes($value); 
     1158            $value = wp_specialchars( $value ); 
     1159            break; 
     1160 
     1161        case 'blog_charset': 
     1162            $value = preg_replace('/[^a-zA-Z0-9_-]/', '', $value); // strips slashes 
     1163            break; 
     1164 
     1165        case 'date_format': 
     1166        case 'time_format': 
     1167        case 'mailserver_url': 
     1168        case 'mailserver_login': 
     1169        case 'mailserver_pass': 
     1170        case 'ping_sites': 
     1171        case 'upload_path': 
     1172            $value = strip_tags($value); 
     1173            $value = addslashes($value); 
     1174            $value = wp_filter_kses($value); // calls stripslashes then addslashes 
     1175            $value = stripslashes($value); 
     1176            break; 
     1177 
     1178        case 'gmt_offset': 
     1179            $value = preg_replace('/[^0-9:.-]/', '', $value); // strips slashes 
     1180            break; 
     1181 
     1182        case 'siteurl': 
     1183        case 'home': 
     1184            $value = stripslashes($value); 
     1185            $value = clean_url($value); 
     1186            break; 
     1187        default : 
     1188            break; 
     1189    } 
     1190 
     1191    return $value; 
     1192} 
     1193 
    11211194function wp_parse_str( $string, &$array ) { 
    11221195    parse_str( $string, $array );