SILENT KILLERPanel

Current Path: > home > transcarter > public_html > > > > wp-content > plugins > wordfence > lib


Operation   : Linux host59.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
Software     : Apache
Server IP    : 198.54.126.42 | Your IP: 216.73.216.135
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/transcarter/public_html////wp-content/plugins/wordfence/lib

NameTypeSizeLast ModifiedActions
Diff Directory - -
audit-log Directory - -
dashboard Directory - -
rest-api Directory - -
.htaccess File 354 bytes July 17 2025 21:05:48.
Diff.php File 5762 bytes July 17 2025 21:05:47.
GeoLite2-Country.mmdb File 7825225 bytes July 17 2025 21:05:48.
IPTraf.php File 1195 bytes July 17 2025 21:05:48.
IPTrafList.php File 3054 bytes July 17 2025 21:05:48.
WFLSPHP52Compatability.php File 1303 bytes July 17 2025 21:05:48.
compat.php File 425 bytes July 17 2025 21:05:47.
diffResult.php File 2874 bytes July 17 2025 21:05:47.
email_genericAlert.php File 1422 bytes July 17 2025 21:05:47.
email_newIssues.php File 9035 bytes July 17 2025 21:05:47.
email_unlockRequest.php File 2397 bytes July 17 2025 21:05:47.
email_unsubscribeRequest.php File 1077 bytes July 17 2025 21:05:47.
flags.php File 6779 bytes July 17 2025 21:05:47.
live_activity.php File 580 bytes July 17 2025 21:05:48.
menu_dashboard.php File 28671 bytes July 17 2025 21:05:48.
menu_dashboard_options.php File 15577 bytes July 17 2025 21:05:48.
menu_firewall.php File 2167 bytes July 17 2025 21:05:48.
menu_firewall_blocking.php File 10495 bytes July 17 2025 21:05:48.
menu_firewall_blocking_options.php File 4737 bytes July 17 2025 21:05:48.
menu_firewall_waf.php File 20443 bytes July 17 2025 21:05:48.
menu_firewall_waf_options.php File 11357 bytes July 17 2025 21:05:48.
menu_install.php File 1767 bytes July 17 2025 21:05:48.
menu_options.php File 25291 bytes July 17 2025 21:05:48.
menu_scanner.php File 22047 bytes July 17 2025 21:05:48.
menu_scanner_credentials.php File 2838 bytes July 17 2025 21:05:48.
menu_scanner_options.php File 8615 bytes July 17 2025 21:05:48.
menu_support.php File 18243 bytes July 17 2025 21:05:48.
menu_tools.php File 1528 bytes July 17 2025 21:05:48.
menu_tools_auditlog.php File 16829 bytes July 17 2025 21:05:48.
menu_tools_diagnostic.php File 50536 bytes July 17 2025 21:05:48.
menu_tools_importExport.php File 1310 bytes July 17 2025 21:05:48.
menu_tools_livetraffic.php File 40381 bytes July 17 2025 21:05:48.
menu_tools_twoFactor.php File 20070 bytes July 17 2025 21:05:48.
menu_tools_whois.php File 4722 bytes July 17 2025 21:05:48.
menu_wordfence_central.php File 9889 bytes July 17 2025 21:05:48.
noc1.key File 1683 bytes July 17 2025 21:05:48.
sodium_compat_fast.php File 185 bytes July 17 2025 21:05:48.
sysinfo.php File 1501 bytes July 17 2025 21:05:48.
viewFullActivityLog.php File 1501 bytes July 17 2025 21:05:48.
wf503.php File 9860 bytes July 17 2025 21:05:48.
wfAPI.php File 10338 bytes July 17 2025 21:05:48.
wfActivityReport.php File 20945 bytes July 17 2025 21:05:48.
wfAdminNoticeQueue.php File 5323 bytes July 17 2025 21:05:48.
wfAlerts.php File 7549 bytes July 17 2025 21:05:48.
wfArray.php File 1816 bytes July 17 2025 21:05:48.
wfAuditLog.php File 48265 bytes July 17 2025 21:05:48.
wfBrowscap.php File 3996 bytes July 17 2025 21:05:48.
wfBrowscapCache.php File 262994 bytes July 17 2025 21:05:48.
wfBulkCountries.php File 10002 bytes July 17 2025 21:05:48.
wfCache.php File 6166 bytes July 17 2025 21:05:48.
wfCentralAPI.php File 26419 bytes July 17 2025 21:05:48.
wfConfig.php File 125427 bytes July 17 2025 21:05:48.
wfCrawl.php File 6722 bytes July 17 2025 21:05:48.
wfCredentialsController.php File 5284 bytes July 17 2025 21:05:48.
wfCrypt.php File 4146 bytes July 17 2025 21:05:48.
wfCurlInterceptor.php File 1047 bytes July 17 2025 21:05:48.
wfDB.php File 11764 bytes July 17 2025 21:05:48.
wfDashboard.php File 8399 bytes July 17 2025 21:05:48.
wfDateLocalization.php File 360582 bytes July 17 2025 21:05:48.
wfDeactivationOption.php File 2184 bytes July 17 2025 21:05:48.
wfDiagnostic.php File 68476 bytes July 17 2025 21:05:48.
wfDict.php File 738 bytes July 17 2025 21:05:48.
wfDirectoryIterator.php File 1937 bytes July 17 2025 21:05:48.
wfFileUtils.php File 2784 bytes July 17 2025 21:05:48.
wfHelperBin.php File 2015 bytes July 17 2025 21:05:48.
wfHelperString.php File 2180 bytes July 17 2025 21:05:48.
wfIPWhitelist.php File 1596 bytes July 17 2025 21:05:48.
wfImportExportController.php File 3306 bytes July 17 2025 21:05:48.
wfInaccessibleDirectoryException.php File 303 bytes July 17 2025 21:05:48.
wfInvalidPathException.php File 266 bytes July 17 2025 21:05:48.
wfIpLocation.php File 1768 bytes July 17 2025 21:05:48.
wfIpLocator.php File 2810 bytes July 17 2025 21:05:48.
wfIssues.php File 28582 bytes July 17 2025 21:05:48.
wfJWT.php File 5455 bytes July 17 2025 21:05:48.
wfLicense.php File 10682 bytes July 17 2025 21:05:48.
wfLockedOut.php File 9959 bytes July 17 2025 21:05:48.
wfLog.php File 58480 bytes July 17 2025 21:05:48.
wfMD5BloomFilter.php File 5327 bytes July 17 2025 21:05:48.
wfModuleController.php File 754 bytes July 17 2025 21:05:48.
wfNotification.php File 6564 bytes July 17 2025 21:05:48.
wfOnboardingController.php File 9443 bytes July 17 2025 21:05:48.
wfPersistenceController.php File 819 bytes July 17 2025 21:05:48.
wfRESTAPI.php File 377 bytes July 17 2025 21:05:48.
wfScan.php File 16300 bytes July 17 2025 21:05:48.
wfScanEngine.php File 136810 bytes July 17 2025 21:05:48.
wfScanEntrypoint.php File 1070 bytes July 17 2025 21:05:48.
wfScanFile.php File 1037 bytes July 17 2025 21:05:48.
wfScanFileLink.php File 403 bytes July 17 2025 21:05:48.
wfScanFileListItem.php File 408 bytes July 17 2025 21:05:48.
wfScanFileProperties.php File 1095 bytes July 17 2025 21:05:48.
wfScanMonitor.php File 4152 bytes July 17 2025 21:05:48.
wfScanPath.php File 1817 bytes July 17 2025 21:05:48.
wfSchema.php File 11175 bytes July 17 2025 21:05:48.
wfStyle.php File 1244 bytes July 17 2025 21:05:48.
wfSupportController.php File 24758 bytes July 17 2025 21:05:48.
wfUnlockMsg.php File 1163 bytes July 17 2025 21:05:48.
wfUpdateCheck.php File 27888 bytes July 17 2025 21:05:48.
wfUtils.php File 127089 bytes July 17 2025 21:05:48.
wfVersionCheckController.php File 19729 bytes July 17 2025 21:05:48.
wfVersionSupport.php File 535 bytes July 17 2025 21:05:48.
wfView.php File 2269 bytes July 17 2025 21:05:48.
wfViewResult.php File 1455 bytes July 17 2025 21:05:48.
wfWebsite.php File 1792 bytes July 17 2025 21:05:48.
wordfenceClass.php File 447131 bytes July 17 2025 21:05:48.
wordfenceConstants.php File 3650 bytes July 17 2025 21:05:48.
wordfenceHash.php File 43726 bytes July 17 2025 21:05:48.
wordfenceScanner.php File 31200 bytes July 17 2025 21:05:48.
wordfenceURLHoover.php File 18804 bytes July 17 2025 21:05:48.

Reading File: /home/transcarter/public_html////wp-content/plugins/wordfence/lib/wfScanMonitor.php

<?php

class wfScanMonitor {

	const CRON_INTERVAL_NAME = 'wf_scan_monitor_interval';
	const CRON_INTERVAL_AMOUNT = 60; //Seconds
	const CRON_HOOK = 'wf_scan_monitor';

	const CONFIG_LAST_ATTEMPT = 'scanMonitorLastAttempt';
	const CONFIG_LAST_ATTEMPT_WAS_FORK = 'scanMonitorLastAttemptWasFork';
	const CONFIG_LAST_ATTEMPT_MODE = 'scanMonitorLastAttemptMode';
	const CONFIG_LAST_SUCCESS = 'scanMonitorLastSuccess';
	const CONFIG_MAX_RESUME_ATTEMPTS = 'scan_max_resume_attempts';
	const CONFIG_REMAINING_RESUME_ATTEMPTS = 'scanMonitorRemainingResumeAttempts';

	const DEFAULT_RESUME_ATTEMPTS = 2;
	const MAX_RESUME_ATTEMPTS = 5;
	const SCAN_START_TIMEOUT = 30; //Seconds

	public static function beginMonitoring() {
		if (wp_next_scheduled(self::CRON_HOOK))
			return;
		wp_schedule_event(time(), self::CRON_INTERVAL_NAME, self::CRON_HOOK);
	}

	public static function endMonitoring() {
		$timestamp = wp_next_scheduled(self::CRON_HOOK);
		if ($timestamp !== false)
			wp_unschedule_event($timestamp, self::CRON_HOOK);
	}

	public static function validateResumeAttempts($attempts, &$valid = null) {
		if ($attempts < 0 || $attempts > self::MAX_RESUME_ATTEMPTS) {
			$valid = false;
			return self::DEFAULT_RESUME_ATTEMPTS;
		}
		$valid = true;
		return $attempts;
	}

	private static function setRemainingResumeAttempts($attempts) {
		wfConfig::set(self::CONFIG_REMAINING_RESUME_ATTEMPTS, $attempts);
	}

	public static function getConfiguredResumeAttempts() {
		$attempts = (int) wfConfig::get(self::CONFIG_MAX_RESUME_ATTEMPTS, self::DEFAULT_RESUME_ATTEMPTS);
		return self::validateResumeAttempts($attempts);
	}

	private static function resetResumeAttemptCounter() {
		$attempts = self::getConfiguredResumeAttempts();
		self::setRemainingResumeAttempts($attempts);
		return $attempts;
	}

	private static function getRemainingResumeAttempts() {
		$attempts = (int) wfConfig::get(self::CONFIG_REMAINING_RESUME_ATTEMPTS, 0);
		return self::validateResumeAttempts($attempts);
	}

	public static function handleScanStart($mode) {
		wfConfig::set(self::CONFIG_LAST_ATTEMPT_MODE, $mode);
		$maxAttempts = self::resetResumeAttemptCounter();
		if ($maxAttempts > 0)
			self::beginMonitoring();
	}

	public static function monitorScan() {
		$remainingAttempts = self::getRemainingResumeAttempts();
		if ($remainingAttempts > 0) {
			$now = time();
			$lastAttempt = wfConfig::get(self::CONFIG_LAST_ATTEMPT);
			if ($lastAttempt === null || $now - $lastAttempt < self::SCAN_START_TIMEOUT)
				return;
			$lastSuccess = wfConfig::get(self::CONFIG_LAST_SUCCESS);
			self::setRemainingResumeAttempts(--$remainingAttempts);
			if ($lastSuccess === null || $lastAttempt > $lastSuccess) {
				wordfence::status(2, 'info', sprintf(__('Attempting to resume scan stage (%d attempt(s) remaining)...', 'wordfence'), $remainingAttempts));
				self::resumeScan();
			}
		}
		else {
			self::endMonitoring();
		}
	}

	private static function resumeScan() {
		$mode = wfConfig::get(self::CONFIG_LAST_ATTEMPT_MODE);
		if (!wfScanner::isValidScanType($mode))
			$mode = false;
		wfScanEngine::startScan(wfConfig::get(self::CONFIG_LAST_ATTEMPT_WAS_FORK), $mode, true);
	}

	private static function logTimestamp($key) {
		wfConfig::set($key, time());
	}

	public static function logLastAttempt($fork) {
		self::logTimestamp(self::CONFIG_LAST_ATTEMPT);
		wfConfig::set(self::CONFIG_LAST_ATTEMPT_WAS_FORK, $fork);
	}

	public static function logLastSuccess() {
		self::logTimestamp(self::CONFIG_LAST_SUCCESS);
	}

	public static function handleStageStart($fork) {
		if ($fork)
			self::resetResumeAttemptCounter();
	}

	public static function registerCronInterval($schedules) {
		if (!array_key_exists(self::CRON_INTERVAL_NAME, $schedules)) {
			$schedules[self::CRON_INTERVAL_NAME] = array(
				'interval' => self::CRON_INTERVAL_AMOUNT,
				'display' => 'Wordfence Scan Monitor'
			);
		}
		return $schedules;
	}

	public static function registerActions() {
		add_filter('cron_schedules', array(self::class, 'registerCronInterval'));
		add_action(self::CRON_HOOK, array(self::class, 'monitorScan'));
	}

	public static function handleDeactivation() {
		self::endMonitoring();
	}

}

SILENT KILLER Tool