Make WordPress Core

Changeset 5915


Ignore:
Timestamp:
08/22/2007 06:00:48 PM (18 years ago)
Author:
ryan
Message:

Sanitize a few options

Location:
branches/2.2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • 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 );
Note: See TracChangeset for help on using the changeset viewer.