Plugin Directory

Changeset 2903008


Ignore:
Timestamp:
04/23/2023 06:52:12 PM (3 years ago)
Author:
futtta
Message:

preparing 3.1.7

Location:
autoptimize/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • autoptimize/trunk/autoptimize.php

    r2878905 r2903008  
    44 * Plugin URI: https://autoptimize.com/pro/
    55 * Description: Makes your site faster by optimizing CSS, JS, Images, Google fonts and more.
    6  * Version: 3.1.6
     6 * Version: 3.1.7
    77 * Author: Frank Goossens (futtta)
    88 * Author URI: https://autoptimize.com/pro/
     
    2222}
    2323
    24 define( 'AUTOPTIMIZE_PLUGIN_VERSION', '3.1.6' );
     24define( 'AUTOPTIMIZE_PLUGIN_VERSION', '3.1.7' );
    2525
    2626// plugin_dir_path() returns the trailing slash!
  • autoptimize/trunk/classes/autoptimizeConfig.php

    r2878905 r2903008  
    430430        }
    431431        // translators: Kilobytes + timestamp shown.
    432         printf( __( '%1$s files, totalling %2$s (calculated at %3$s)', 'autoptimize' ), $ao_stat_arr[0], $ao_cache_size, date( 'H:i e', $ao_stat_arr[2] ) ); // phpcs:ignore WordPress.DateTime.RestrictedFunctions.date_date
     432        printf( __( '%1$s files, totalling %2$s (calculated at %3$s)', 'autoptimize' ), $ao_stat_arr[0], $ao_cache_size, wp_date( 'H:i', $ao_stat_arr[2] ) ); // phpcs:ignore WordPress.DateTime.RestrictedFunctions.date_date
    433433    }
    434434    ?>
  • autoptimize/trunk/classes/autoptimizeCriticalCSSSettingsAjax.php

    r2882657 r2903008  
    1515     */
    1616    protected $criticalcss;
    17 
     17   
    1818    public function __construct() {
    1919        $this->criticalcss = autoptimize()->criticalcss();
     
    383383                            continue;
    384384                        } else {
    385                             update_option( 'autoptimize_ccss_' . $ccss_setting, $settings['ccss'][ $ccss_setting ] );
     385                            update_option( 'autoptimize_ccss_' . $ccss_setting, autoptimizeUtils::strip_tags_array( $settings['ccss'][ $ccss_setting ] ) );
    386386                        }
    387387                    }
  • autoptimize/trunk/classes/autoptimizeUtils.php

    r2801903 r2903008  
    572572        return apply_filters( 'autoptimize_filter_utils_is_local_server', $_is_local_server );
    573573    }
     574
     575    public static function strip_tags_array( $array ) {
     576        // strip all tags in an array (use case: avoid XSS in CCSS rules both when importing and when outputting).
     577        // based on https://stackoverflow.com/a/44732196/237449 but heavily tweaked.
     578        if ( is_array( $array ) ) {
     579            $result = array();
     580            foreach ( $array as $key => $value ){
     581                if ( is_array( $value ) ) {
     582                    $result[$key] = autoptimizeUtils::strip_tags_array( $value );
     583                } else if ( is_string( $value ) ) {
     584                    $result[$key] = wp_strip_all_tags( $value );
     585                } else {
     586                    $result[$key] = $value;
     587                }
     588            }
     589        } else {
     590            $result = wp_strip_all_tags( $array );
     591        }
     592        return $result;
     593    }
    574594}
  • autoptimize/trunk/classes/critcss-inc/admin_settings_rules.php

    r2786932 r2903008  
    231231        }
    232232    }
     233   
     234    $rules = autoptimizeUtils::strip_tags_array( $rules );
    233235    return $rules;
    234236}
     237
    235238?>
  • autoptimize/trunk/readme.txt

    r2882768 r2903008  
    320320== Changelog ==
    321321
     322= 3.1.7 =
     323* security: improve validation (import) and sanitization (output) of critical CSS rules, to fix a medium severity Admin+ Stored Cross-Site Scripting vulnerability as reported by WP Scan Security.
     324
    322325= 3.1.6 =
    323326* CSS: removing trailing slashes in <link tags for more W3 HTML validation love
Note: See TracChangeset for help on using the changeset viewer.