X7ROOT File Manager
Current Path:
/usr/src/litespeed-wp-plugin/7.8.0.1/litespeed-cache/src
usr
/
src
/
litespeed-wp-plugin
/
7.8.0.1
/
litespeed-cache
/
src
/
📁
..
📄
activation.cls.php
(17.31 KB)
📄
admin-display.cls.php
(48.47 KB)
📄
admin-settings.cls.php
(11.12 KB)
📄
admin.cls.php
(6.13 KB)
📄
api.cls.php
(10.36 KB)
📄
avatar.cls.php
(8.65 KB)
📄
base.cls.php
(37.66 KB)
📁
cdn
📄
cdn.cls.php
(15.92 KB)
📄
cloud-auth-callback.trait.php
(10.43 KB)
📄
cloud-auth-ip.trait.php
(4.33 KB)
📄
cloud-auth.trait.php
(9.38 KB)
📄
cloud-misc.trait.php
(10.32 KB)
📄
cloud-node.trait.php
(5.95 KB)
📄
cloud-request.trait.php
(19.68 KB)
📄
cloud.cls.php
(7.32 KB)
📄
conf.cls.php
(19.53 KB)
📄
control.cls.php
(24.35 KB)
📄
core.cls.php
(20.97 KB)
📄
crawler-map.cls.php
(19.41 KB)
📄
crawler.cls.php
(44.72 KB)
📄
css.cls.php
(17.77 KB)
📄
data.cls.php
(22.21 KB)
📄
data.upgrade.func.php
(5.72 KB)
📁
data_structure
📄
db-optm.cls.php
(15.35 KB)
📄
debug2.cls.php
(18.4 KB)
📄
doc.cls.php
(5.45 KB)
📄
error.cls.php
(7.35 KB)
📄
esi.cls.php
(27.18 KB)
📄
file.cls.php
(10.57 KB)
📄
guest.cls.php
(2.75 KB)
📄
gui.cls.php
(36.57 KB)
📄
health.cls.php
(2.83 KB)
📄
htaccess.cls.php
(29.81 KB)
📄
img-optm-manage.trait.php
(30.85 KB)
📄
img-optm-pull.trait.php
(22.1 KB)
📄
img-optm-send.trait.php
(21.9 KB)
📄
img-optm.cls.php
(5.26 KB)
📄
import.cls.php
(4.29 KB)
📄
import.preset.cls.php
(5.5 KB)
📄
lang.cls.php
(17.02 KB)
📄
localization.cls.php
(4.03 KB)
📄
media.cls.php
(44.08 KB)
📄
metabox.cls.php
(5.29 KB)
📄
object-cache-wp.cls.php
(18.82 KB)
📄
object-cache.cls.php
(20.95 KB)
📄
object.lib.php
(14.16 KB)
📄
optimize.cls.php
(38.64 KB)
📄
optimizer.cls.php
(10.5 KB)
📄
placeholder.cls.php
(17.93 KB)
📄
purge.cls.php
(34.41 KB)
📄
report.cls.php
(6.12 KB)
📄
rest.cls.php
(9.08 KB)
📄
root.cls.php
(14.29 KB)
📄
router.cls.php
(20.76 KB)
📄
str.cls.php
(3.08 KB)
📄
tag.cls.php
(9.26 KB)
📄
task.cls.php
(7.05 KB)
📄
tool.cls.php
(4.17 KB)
📄
ucss.cls.php
(16.35 KB)
📄
utility.cls.php
(26.01 KB)
📄
vary.cls.php
(21.33 KB)
📄
vpi.cls.php
(9.38 KB)
Editing: cloud-auth-ip.trait.php
<?php /** * Cloud auth IP validation trait * * @package LiteSpeed * @since 7.8 */ namespace LiteSpeed; defined( 'WPINC' ) || exit(); /** * Trait Cloud_Auth_IP * * Handles QUIC.cloud IP validation and ping operations. */ trait Cloud_Auth_IP { /** * Request callback validation from Cloud * * @since 3.0 * @access public */ public function ip_validate() { // phpcs:ignore WordPress.Security.NonceVerification.Missing $hash = ! empty( $_POST['hash'] ) ? sanitize_text_field( wp_unslash( $_POST['hash'] ) ) : ''; if ( !$hash ) { return self::err( 'lack_of_params' ); } if ( md5( substr( $this->_summary['pk_b64'], 0, 4 ) ) !== $hash ) { self::debug( '__callback IP request decryption failed' ); return self::err( 'err_hash' ); } Control::set_nocache( 'Cloud IP hash validation' ); $resp_hash = md5( substr( $this->_summary['pk_b64'], 2, 4 ) ); self::debug( '__callback IP request hash: ' . $resp_hash ); return self::ok( [ 'hash' => $resp_hash ] ); } /** * Check if this visit is from cloud or not * * @since 3.0 */ public function is_from_cloud() { $check_point = time() - 86400 * self::TTL_IPS; if ( empty( $this->_summary['ips'] ) || empty( $this->_summary['ips_ts'] ) || $this->_summary['ips_ts'] < $check_point ) { self::debug( 'Force updating ip as ips_ts is older than ' . self::TTL_IPS . ' days' ); $this->_update_ips(); } $res = $this->cls( 'Router' )->ip_access( $this->_summary['ips'] ); if ( ! $res ) { self::debug( '❌ Not our cloud IP' ); // Auto check ip list again but need an interval limit safety. if ( empty( $this->_summary['ips_ts_runner'] ) || time() - (int) $this->_summary['ips_ts_runner'] > 600 ) { self::debug( 'Force updating ip as ips_ts_runner is older than 10mins' ); // Refresh IP list for future detection $this->_update_ips(); $res = $this->cls( 'Router' )->ip_access( $this->_summary['ips'] ); if ( ! $res ) { self::debug( '❌ 2nd time: Not our cloud IP' ); } else { self::debug( '✅ Passed Cloud IP verification' ); } return $res; } } else { self::debug( '✅ Passed Cloud IP verification' ); } return $res; } /** * Update Cloud IP list * * @since 4.2 * * @throws \Exception When fetching whitelist fails. */ private function _update_ips() { self::debug( 'Load remote Cloud IP list from ' . $this->_cloud_ips ); // Prevent multiple call in a short period self::save_summary([ 'ips_ts' => time(), 'ips_ts_runner' => time(), ]); $response = wp_safe_remote_get( $this->_cloud_ips . '?json' ); if ( is_wp_error( $response ) ) { $error_message = $response->get_error_message(); self::debug( 'failed to get ip whitelist: ' . $error_message ); throw new \Exception( 'Failed to fetch QUIC.cloud whitelist ' . esc_html($error_message) ); } $json = \json_decode( $response['body'], true ); self::debug( 'Load ips', $json ); self::save_summary( [ 'ips' => $json ] ); } /** * Return pong for ping to check PHP function availability * * @since 6.5 * * @return array */ public function ping() { $resp = [ 'v_lscwp' => Core::VER, 'v_lscwp_db' => $this->conf( self::_VER ), 'v_php' => PHP_VERSION, 'v_wp' => $GLOBALS['wp_version'], 'home_url' => home_url(), 'site_url' => site_url(), ]; // phpcs:ignore WordPress.Security.NonceVerification.Missing if ( ! empty( $_POST['funcs'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized foreach ( wp_unslash($_POST['funcs']) as $v ) { $resp[ $v ] = function_exists( $v ) ? 'y' : 'n'; } } // phpcs:ignore WordPress.Security.NonceVerification.Missing if ( ! empty( $_POST['classes'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized foreach ( wp_unslash($_POST['classes']) as $v ) { $resp[ $v ] = class_exists( $v ) ? 'y' : 'n'; } } // phpcs:ignore WordPress.Security.NonceVerification.Missing if ( ! empty( $_POST['consts'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized foreach ( wp_unslash($_POST['consts']) as $v ) { $resp[ $v ] = defined( $v ) ? 'y' : 'n'; } } return self::ok( $resp ); } }
Upload File
Create Folder