/home/vianto5/distritosatelite.mx/wp-content/plugins/litespeed-cache/src
NameSizeModeActions
cdn/-0755rm
data_structure/-0755rm
activation.cls.php180400644editdlrm
admin-display.cls.php501090644editdlrm
admin-settings.cls.php130780644editdlrm
admin.cls.php62760644editdlrm
api.cls.php101510644editdlrm
avatar.cls.php94610644editdlrm
base.cls.php387470644editdlrm
cdn.cls.php181830644editdlrm
cloud-auth-callback.trait.php238870644editdlrm
cloud-auth-ip.trait.php20940644editdlrm
cloud-auth.trait.php93600644editdlrm
cloud-misc.trait.php111230644editdlrm
cloud-node.trait.php60900644editdlrm
cloud-queue-svc.cls.php96420644editdlrm
cloud-request.trait.php197230644editdlrm
cloud.cls.php88480644editdlrm
conf.cls.php200000644editdlrm
control.cls.php249130644editdlrm
core.cls.php220460644editdlrm
crawler-map.cls.php228330644editdlrm
crawler.cls.php449890644editdlrm
css.cls.php70340644editdlrm
data.cls.php227330644editdlrm
data.upgrade.func.php65640644editdlrm
db-optm.cls.php157160644editdlrm
debug2.cls.php188320644editdlrm
doc.cls.php55770644editdlrm
error.cls.php75300644editdlrm
esi.cls.php327950644editdlrm
file.cls.php204720644editdlrm
guest.cls.php22630644editdlrm
gui.cls.php358170644editdlrm
health.cls.php46940644editdlrm
htaccess.cls.php305260644editdlrm
img-optm-manage.trait.php306270644editdlrm
img-optm-notify.trait.php91130644editdlrm
img-optm-pull.trait.php139630644editdlrm
img-optm-send.trait.php215450644editdlrm
img-optm.cls.php52650644editdlrm
img.cls.php114270644editdlrm
import.cls.php43720644editdlrm
import.preset.cls.php56100644editdlrm
lang.cls.php174300644editdlrm
localization.cls.php39410644editdlrm
media.cls.php451170644editdlrm
metabox.cls.php54190644editdlrm
object-cache-wp.cls.php192680644editdlrm
object-cache.cls.php223460644editdlrm
object.lib.php141800644editdlrm
optimax.cls.php124290644editdlrm
optimize.cls.php393350644editdlrm
optimizer.cls.php129730644editdlrm
placeholder.cls.php179500644editdlrm
purge.cls.php363300644editdlrm
report.cls.php76680644editdlrm
rest.cls.php104040644editdlrm
root.cls.php150180644editdlrm
router.cls.php213620644editdlrm
str.cls.php31560644editdlrm
tag.cls.php94810644editdlrm
task.cls.php91930644editdlrm
tool.cls.php46870644editdlrm
ucss.cls.php74510644editdlrm
utility.cls.php284930644editdlrm
vary.cls.php218420644editdlrm
vpi.cls.php42120644editdlrm
Edit: /home/vianto5/distritosatelite.mx/wp-content/plugins/litespeed-cache/src/rest.cls.php (10404B)
'POST', 'callback' => [ $this, 'toggle_crawler_state' ], 'permission_callback' => function () { return current_user_can( 'manage_network_options' ) || current_user_can( 'manage_options' ); }, ] ); register_rest_route( 'litespeed/v1', '/tool/check_ip', [ 'methods' => 'GET', 'callback' => [ $this, 'check_ip' ], 'permission_callback' => function () { return current_user_can( 'manage_network_options' ) || current_user_can( 'manage_options' ); }, ] ); register_rest_route( 'litespeed/v1', '/guest/sync', [ 'methods' => 'GET', 'callback' => [ $this, 'guest_sync' ], 'permission_callback' => function () { return current_user_can( 'manage_network_options' ) || current_user_can( 'manage_options' ); }, ] ); // IP callback validate register_rest_route( 'litespeed/v3', '/ip_validate', [ 'methods' => 'POST', 'callback' => [ $this, 'ip_validate' ], 'permission_callback' => function ( $request ) { return $this->cls( 'Cloud' )->validate_signed_callback( $request, Cloud::SIGN_ACTION_IP_VALIDATE ); }, ] ); // 1.2. WP REST Dryrun Callback register_rest_route( 'litespeed/v3', '/wp_rest_echo', [ 'methods' => 'POST', 'callback' => [ $this, 'wp_rest_echo' ], 'permission_callback' => '__return_true', ] ); register_rest_route( 'litespeed/v3', '/ping', [ 'methods' => 'POST', 'callback' => [ $this, 'ping' ], 'permission_callback' => function ( $request ) { return $this->cls( 'Cloud' )->validate_signed_callback( $request, Cloud::SIGN_ACTION_PING ); }, ] ); // CDN setup callback notification register_rest_route( 'litespeed/v3', '/cdn_status', [ 'methods' => 'POST', 'callback' => [ $this, 'cdn_status' ], 'permission_callback' => function ( $request ) { return $this->cls( 'Cloud' )->validate_signed_callback( $request, Cloud::SIGN_ACTION_CDN_STATUS ); }, ] ); // Image optm notify_img register_rest_route( 'litespeed/v1', '/notify_img', [ 'methods' => 'POST', 'callback' => [ $this, 'notify_img' ], 'permission_callback' => function ( $request ) { return $this->cls( 'Cloud' )->validate_signed_callback( $request, Cloud::SIGN_ACTION_NOTIFY_IMG ); }, ] ); register_rest_route( 'litespeed/v3', '/err_domains', [ 'methods' => 'POST', 'callback' => [ $this, 'err_domains' ], 'permission_callback' => function ( $request ) { return $this->cls( 'Cloud' )->validate_signed_callback( $request, Cloud::SIGN_ACTION_ERR_DOMAINS ); }, ] ); } /** * Call to freeze or melt the crawler clicked * * @since 4.3 */ public function toggle_crawler_state() { // phpcs:ignore WordPress.Security.NonceVerification.Missing -- REST API nonce verified by WordPress $crawler_id = isset( $_POST['crawler_id'] ) ? sanitize_text_field( wp_unslash( $_POST['crawler_id'] ) ) : ''; if ( '' !== $crawler_id ) { return $this->cls( 'Crawler' )->toggle_activeness( $crawler_id ) ? 1 : 0; } } /** * Ping pong. * * @since 3.0.4 * @param \WP_REST_Request $request REST request. * @return mixed */ public function ping( $request ) { return $this->cls( 'Cloud' )->ping( $request->get_body() ); } /** * Launch IP check. * * @since 3.0 * @return mixed */ public function check_ip() { return Tool::cls()->check_ip(); } /** * Sync Guest Mode IP/UA lists. * * @since 7.7 * @return array */ public function guest_sync() { return Guest::cls()->sync_lists(); } /** * Validate IPs from cloud. * * @since 3.0 * @param \WP_REST_Request $request REST request. * @return mixed */ public function ip_validate( $request ) { return $this->cls( 'Cloud' )->ip_validate(); } /** * REST echo helper. * * @since 3.0 * @return mixed */ public function wp_rest_echo() { return $this->cls( 'Cloud' )->wp_rest_echo(); } /** * Endpoint to notify plugin of CDN status updates. * * @since 7.0 * @since 7.9.1 Forwards the exact raw body the signature was verified over. * * @param \WP_REST_Request $request REST request. * @return mixed */ public function cdn_status( $request ) { return $this->cls( 'Cloud' )->update_cdn_status( $request->get_body() ); } /** * Image optimization notification. * * @since 3.0 * @since 7.9.1 Accepts the REST request and forwards its exact raw body. * @param \WP_REST_Request $request REST request. * @return mixed */ public function notify_img( $request ) { return Img_Optm::cls()->notify_img( $request->get_body() ); } /** * Error domain report from cloud. * * @since 4.7 * @param \WP_REST_Request $request REST request. * @return mixed */ public function err_domains( $request ) { self::debug( 'err_domains' ); return $this->cls( 'Cloud' )->rest_err_domains( $request->get_body() ); } /** * Return a standardized error payload. * * @since 5.7.0.1 * @param string|int $code Error code. * @return array */ public static function err( $code ) { return [ '_res' => 'err', '_msg' => $code, ]; } /** * Set internal REST tag to ON. * * @since 2.9.4 * @param mixed $not_used Passthrough value from the filter. * @return mixed */ public function set_internal_rest_on( $not_used = null ) { $this->_internal_rest_status = true; Debug2::debug2( '[REST] ✅ Internal REST ON [filter] rest_request_before_callbacks' ); return $not_used; } /** * Set internal REST tag to OFF. * * @since 2.9.4 * @param mixed $not_used Passthrough value from the filter. * @return mixed */ public function set_internal_rest_off( $not_used = null ) { $this->_internal_rest_status = false; Debug2::debug2( '[REST] ❎ Internal REST OFF [filter] rest_request_after_callbacks' ); return $not_used; } /** * Whether current request is an internal REST call. * * @since 2.9.4 * @return bool */ public function is_internal_rest() { return $this->_internal_rest_status; } /** * Match URI rules against pretty and rest_route spellings. * * @since 7.9.1 * @param string $req_uri Raw request URI. * @param array $rules URI rules. * @param bool $has_ttl Whether rules include a TTL. * @return bool|string|array */ public static function str_hit_uri( $req_uri, $rules, $has_ttl = false ) { $uris = [ $req_uri ]; // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Type is checked before sanitization. $route = isset( $_GET['rest_route'] ) ? wp_unslash( $_GET['rest_route'] ) : ''; $route = is_string( $route ) ? sanitize_text_field( $route ) : ''; if ( '' !== $route && function_exists( 'rest_get_url_prefix' ) ) { $prefix = wp_parse_url( home_url( rest_get_url_prefix() ), PHP_URL_PATH ); if ( $prefix ) { $equivalent = '/' . ltrim( $prefix, '/' ) . '/' . ltrim( $route, '/' ); // Carry the other arguments over byte for byte: rules compare exactly, so parse_str() would break them. $query = wp_parse_url( $req_uri, PHP_URL_QUERY ); $kept = []; if ( is_string( $query ) && '' !== $query ) { foreach ( explode( '&', $query ) as $segment ) { // Empty segments are kept too — dropping `&&` would itself be a rewrite. $name = urldecode( explode( '=', $segment, 2 )[0] ); if ( 'rest_route' === $name || 0 === strpos( $name, 'rest_route[' ) ) { continue; } $kept[] = $segment; } } if ( $kept ) { $equivalent .= '?' . implode( '&', $kept ); } $uris[] = $equivalent; } } foreach ( $uris as $uri ) { $hit = Utility::str_hit_array( $uri, $rules, $has_ttl ); if ( $hit ) { return $hit; } } return false; } /** * Check whether a URL or current page is a REST request. * * @since 2.9.3 * @since 2.9.4 Moved here from Utility, dropped static. * @param string|false $url URL to check; when false checks current request. * @return bool */ public function is_rest( $url = false ) { // For WP 4.4.0- compatibility. if ( ! function_exists( 'rest_get_url_prefix' ) ) { return ( defined( 'REST_REQUEST' ) && REST_REQUEST ); } $prefix = rest_get_url_prefix(); // Case #1: After WP_REST_Request initialization. if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) { return true; } // Case #2: Support the rest_route query used by plain permalinks. // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Type is checked before sanitization. $route = isset( $_GET['rest_route'] ) ? wp_unslash( $_GET['rest_route'] ) : ''; $route = is_string( $route ) ? sanitize_text_field( $route ) : ''; if ( false === $url && '' !== $route ) { return true; } if ( !$url ) { return false; } // Case #3: Match the home-based REST path, including subfolder installs. $rest_url = wp_parse_url( home_url( $prefix ) ); $current_url = wp_parse_url( $url ); if ( false !== $current_url && ! empty( $current_url['path'] ) && false !== $rest_url && ! empty( $rest_url['path'] ) ) { return 0 === strpos( $current_url['path'], $rest_url['path'] ); } return false; } }