Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

$_F=__FILE__;$_X='P0hyP3tWe04zKk5hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh..

Decoded Output download

?><?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group 
-----------------------------------------------------
 https://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004-2023 SoftNews Media Group
=====================================================
 This code is protected by copyright
=====================================================
 File: memcache.class.php
-----------------------------------------------------
 Use: memcache class
=====================================================
*/

if( !defined( 'DATALIFEENGINE' ) ) {
	header( "HTTP/1.1 403 Forbidden" );
	header ( 'Location: ../../' );
	die( "Hacking attempt!" );
}

class dle_fastcache
{
	protected $server = null;
	protected $suite_key = null;
	protected $server_type = null;
	protected $max_age = null;
	
	protected $host = null;
	protected $port = null;
	
	public $connection = null;
	
	public function __construct( $config ) {
		
		$this->suite_key = md5( DBNAME . PREFIX . SECURE_AUTH_KEY );
		
		$this->server = $this->connect();
		
		if($this->connection !== -1 ) {
			
			$memcache_server = explode(":", $config['memcache_server']);
			$this->connection = 1;
			
			if ($memcache_server[0] == 'unix') {
				
				$memcache_server = array($config['memcache_server'], 0);
				$this->host = $memcache_server[0];
				$this->port = -1;
				
			} else {
				$this->host = $memcache_server[0];
				$this->port = $memcache_server[1];
			}
			
			if ( !$this->server->addServer($memcache_server[0], $memcache_server[1]) ) {
				$this->connection = 0;
			}
			
			if ( $this->server->getStats() === false ) {
				$this->connection = 0;
			}
			
			if($this->connection > 0 AND $this->server_type == "memcached") {
				
				$this->server->setOption(Memcached::OPT_COMPRESSION, false);
				
			}
		}
		
		if ( $config['clear_cache'] ) $this->max_age = $config['clear_cache'] * 60; else $this->max_age = 86400;

	}
	
	protected function connect() {
		
		if( class_exists( 'Memcached' ) ) {
			
			$this->server_type = "memcached";
			
			return new Memcached();
		
		} elseif( class_exists( 'Memcache' ) ) {
			
			$this->server_type = "memcache";
			
			return new Memcache();

		} else {
			
			$this->connection = -1;
			
		}
		
	}
	
	public function get( $key ) {
		
		if($this->connection < 1 ) return false;

		return $this->server->get($key."_".$this->suite_key);
		
	}

	public function set($key, $value, $max_age = false) {
		
		if($this->connection < 1 ) return false;

		$this->_set( $key."_".$this->suite_key, $value, $max_age );
		
		return true;
		
	}
	
	public function clear( $cache_areas = false ) {
		
		if($this->connection < 1 ) return false;
		
		if ( $cache_areas ) {
			if(!is_array($cache_areas)) {
				$cache_areas = array($cache_areas);
			}
		}
		
		if( $cache_areas ) {
			
			$all_list = $this->getAllKeys();

			if(count($all_list)) {
		
				foreach ( $all_list as $key ) {
					
					foreach($cache_areas as $cache_area){
						
						if( stripos( $key, $cache_area ) === 0 ) {
							$this->server->delete($key);
						}
					
					}
				}
				
			} else {
				
				$this->_clear_all();
				
			}
			
		} else {
			
			$this->_clear_all();
			
		}
		
		return true;
		
	}
	
	protected function _set( $key, $value, $max_age) {
		
		if($this->connection < 1 ) return false;

		if ( $this->server_type == "memcache" ) {

			if ($max_age) {
				$this->server->set($key, $value, 0, $max_age);
			} else {
				$this->server->set($key, $value, 0, $this->max_age);
			}
			
		} else {

			if ($max_age) {
				$this->server->set($key, $value, $max_age);
			} else {
				$this->server->set($key, $value, $this->max_age);
			}
			
		}
		
		return true;
	}

	protected function getAllKeys() {

		if( method_exists( $this->server, 'getAllKeys' ) ) {

			$allKeys = $this->server->getAllKeys();
			return $allKeys;
			
		}

		$sock = fsockopen($this->host, $this->port);
		
		if ($sock === false) {
			return array();
		}
	
		if (fwrite($sock, "stats items
") === false) {
			return array();
		}
	
		$slabCounts = $allKeys = array();
		
		while (($line = fgets($sock)) !== false) {
			$line = trim($line);
			if ($line === 'END') {
				break;
			}
	
			if (preg_match('!^STAT items:(\d+):number (\d+)$!', $line, $matches)) {
				$slabCounts[$matches[1]] = (int)$matches[2];
			}
		}
	
		foreach ($slabCounts as $slabNr => $slabCount) {
			if (fwrite($sock, "lru_crawler metadump {$slabNr}
") === false) {
				return array();
			}
	
			$count = 0;
			while (($line = fgets($sock)) !== false) {
				$line = trim($line);
				if ($line === 'END') {
					break;
				}
	
				if (preg_match('!^key=(\S+)!', $line, $matches)) {
					
					if( strpos( $matches[1], $this->suite_key ) !== false ) {
						
						$allKeys[] = $matches[1];
						$count++;
					
					}
				}
			}
		}
	
		fclose($sock);
		
		return $allKeys;
		
	}
	
	protected function _clear_all() {
		
		if($this->connection < 1 ) return false;
		
		$this->server->flush();
		
		return true;
		
	}
	
	public function __destruct() {
		
		if($this->connection < 1 ) return;
		
		if( $this->server ) {
			if( method_exists( $this->server, 'quit' ) ) {
				$this->server->quit();
			} elseif( method_exists( $this->server, 'close' ) ) {
				$this->server->close();
			}
		}
	}
	
}


// deprecated name

class dle_memcache
{
	public $connection = null;
	
	public function __construct( $config ) {
		$this->connection = 0;
	}
	
}

Did this file decode correctly?

Original Code

$_F=__FILE__;$_X='P0hyP3tWe04zKk5hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYU5aMkE9QXlpZH1aeHMgaXN9Wi1aLjdaSUVkPXV9V1FaRn1naUFaenBFTHtaTi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tTlpWPT17UTozM2dVfS1zfVdRcXBMM04tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLU5aNUV7N3BpIFY9WihLKVpdYmJHLV1iXUpaSUVkPXV9V1FaRn1naUFaenBFTHtOYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFOWllWaVFaS0VnfVppUVp7cEU9fUs9fWdaLjdaS0V7N3BpIFY9TmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhTlp3aVV9OlpDfUNLQUtWfXFLVUFRUXF7VntOLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1OWmVRfTpaQ31DS0FLVn1aS1VBUVFOYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFOKjNOTmlkKFohZ31kaXN9ZyhaJzJuWW55Cnd4eHV6CnV4J1opWilaa04JVn1BZ31wKFoiOFlZMDNtcW1aR2JKWndFcC5pZ2d9cyJaKTtOCVZ9QWd9cFooWid5RUtBPWlFczpacXEzcXEzJ1opO04JZ2l9KFoiOEFLW2lzIFpBPT19Q3s9ISJaKTtOZk5OS1VBUVFaZ1V9X2RBUT1LQUtWfU5rTgl7cEU9fUs9fWdaJFF9cD59cFphWnNMVVU7Tgl7cEU9fUs9fWdaJFFMaT19X1t9N1phWnNMVVU7Tgl7cEU9fUs9fWdaJFF9cD59cF89N3t9WmFac0xVVTtOCXtwRT19Sz19Z1okQ0F2X0EgfVphWnNMVVU7TglOCXtwRT19Sz19Z1okVkVRPVphWnNMVVU7Tgl7cEU9fUs9fWdaJHtFcD1aYVpzTFVVO04JTgl7TC5VaUtaJEtFc3N9Sz1pRXNaYVpzTFVVO04JTgl7TC5VaUtaZExzSz1pRXNaX19LRXNRPXBMSz0oWiRLRXNkaSBaKVprTgkJTgkJJD1WaVEtSFFMaT19X1t9N1phWkNnTyhaMm91bkZ4WnFaME14dwo8WnFaSXg1ZU14X25lWThfaHg5Wik7TgkJTgkJJD1WaVEtSFF9cD59cFphWiQ9VmlRLUhLRXNzfUs9KCk7TgkJTgkJaWQoJD1WaVEtSEtFc3N9Sz1pRXNaIWFhWi1tWilaa04JCQlOCQkJJEN9Q0tBS1Z9X1F9cD59cFphWn12e1VFZ30oIjoiLFokS0VzZGkgMSdDfUNLQUtWfV9RfXA+fXAnUyk7TgkJCSQ9VmlRLUhLRXNzfUs9aUVzWmFabTtOCQkJTgkJCWlkWigkQ31DS0FLVn1fUX1wPn1wMWJTWmFhWidMc2l2Jylaa04JCQkJTgkJCQkkQ31DS0FLVn1fUX1wPn1wWmFaQXBwQTcoJEtFc2RpIDEnQ31DS0FLVn1fUX1wPn1wJ1MsWmIpO04JCQkJJD1WaVEtSFZFUT1aYVokQ31DS0FLVn1fUX1wPn1wMWJTO04JCQkJJD1WaVEtSHtFcD1aYVotbTtOCQkJCU4JCQlmWn1VUX1aa04JCQkJJD1WaVEtSFZFUT1aYVokQ31DS0FLVn1fUX1wPn1wMWJTO04JCQkJJD1WaVEtSHtFcD1aYVokQ31DS0FLVn1fUX1wPn1wMW1TO04JCQlmTgkJCU4JCQlpZFooWiEkPVZpUS1IUX1wPn1wLUhBZ2dJfXA+fXAoJEN9Q0tBS1Z9X1F9cD59cDFiUyxaJEN9Q0tBS1Z9X1F9cD59cDFtUylaKVprTgkJCQkkPVZpUS1IS0Vzc31LPWlFc1phWmI7TgkJCWZOCQkJTgkJCWlkWihaJD1WaVEtSFF9cD59cC1IIH09ST1BPVEoKVphYWFaZEFVUX1aKVprTgkJCQkkPVZpUS1IS0Vzc31LPWlFc1phWmI7TgkJCWZOCQkJTgkJCWlkKCQ9VmlRLUhLRXNzfUs9aUVzWkhaYlpudTJaJD1WaVEtSFF9cD59cF89N3t9WmFhWiJDfUNLQUtWfWciKVprTgkJCQlOCQkJCSQ9VmlRLUhRfXA+fXAtSFF9PWN7PWlFcyhGfUNLQUtWfWc6OmMwWV81Y0YwTXhJSQpjdSxaZEFVUX0pO04JCQkJTgkJCWZOCQlmTgkJTgkJaWRaKFokS0VzZGkgMSdLVX1BcF9LQUtWfSdTWilaJD1WaVEtSENBdl9BIH1aYVokS0VzZGkgMSdLVX1BcF9LQUtWfSdTWipaamI7Wn1VUX1aJD1WaVEtSENBdl9BIH1aYVo2akdiYjtOTglmTglOCXtwRT19Sz19Z1pkTHNLPWlFc1pLRXNzfUs9KClaa04JCU4JCWlkKFpLVUFRUV99dmlRPVEoWidGfUNLQUtWfWcnWilaKVprTgkJCU4JCQkkPVZpUS1IUX1wPn1wXz03e31aYVoiQ31DS0FLVn1nIjtOCQkJTgkJCXB9PUxwc1pzfVdaRn1DS0FLVn1nKCk7TgkJTgkJZlp9VVF9aWQoWktVQVFRX312aVE9UShaJ0Z9Q0tBS1Z9J1opWilaa04JCQlOCQkJJD1WaVEtSFF9cD59cF89N3t9WmFaIkN9Q0tBS1Z9IjtOCQkJTgkJCXB9PUxwc1pzfVdaRn1DS0FLVn0oKTtOTgkJZlp9VVF9WmtOCQkJTgkJCSQ9VmlRLUhLRXNzfUs9aUVzWmFaLW07TgkJCU4JCWZOCQlOCWZOCU4Je0wuVWlLWmRMc0s9aUVzWiB9PShaJFt9N1opWmtOCQlOCQlpZCgkPVZpUS1IS0Vzc31LPWlFc1pyWm1aKVpwfT1McHNaZEFVUX07Tk4JCXB9PUxwc1okPVZpUS1IUX1wPn1wLUggfT0oJFt9N3EiXyJxJD1WaVEtSFFMaT19X1t9Nyk7TgkJTglmTk4Je0wuVWlLWmRMc0s9aUVzWlF9PSgkW303LFokPkFVTH0sWiRDQXZfQSB9WmFaZEFVUX0pWmtOCQlOCQlpZCgkPVZpUS1IS0Vzc31LPWlFc1pyWm1aKVpwfT1McHNaZEFVUX07Tk4JCSQ9VmlRLUhfUX09KFokW303cSJfInEkPVZpUS1IUUxpPX1fW303LFokPkFVTH0sWiRDQXZfQSB9Wik7TgkJTgkJcH09THBzWj1wTH07TgkJTglmTglOCXtMLlVpS1pkTHNLPWlFc1pLVX1BcChaJEtBS1Z9X0FwfUFRWmFaZEFVUX1aKVprTgkJTgkJaWQoJD1WaVEtSEtFc3N9Sz1pRXNaclptWilacH09THBzWmRBVVF9O04JCU4JCWlkWihaJEtBS1Z9X0FwfUFRWilaa04JCQlpZCghaVFfQXBwQTcoJEtBS1Z9X0FwfUFRKSlaa04JCQkJJEtBS1Z9X0FwfUFRWmFaQXBwQTcoJEtBS1Z9X0FwfUFRKTtOCQkJZk4JCWZOCQlOCQlpZChaJEtBS1Z9X0FwfUFRWilaa04JCQlOCQkJJEFVVV9VaVE9WmFaJD1WaVEtSCB9PW5VVWh9N1EoKTtOTgkJCWlkKEtFTHM9KCRBVVVfVWlRPSkpWmtOCQlOCQkJCWRFcH1BS1ZaKFokQVVVX1VpUT1aQVFaJFt9N1opWmtOCQkJCQlOCQkJCQlkRXB9QUtWKCRLQUtWfV9BcH1BUVpBUVokS0FLVn1fQXB9QSlrTgkJCQkJCU4JCQkJCQlpZChaUT1waXtFUShaJFt9NyxaJEtBS1Z9X0FwfUFaKVphYWFaYlopWmtOCQkJCQkJCSQ9VmlRLUhRfXA+fXAtSGd9VX09fSgkW303KTtOCQkJCQkJZk4JCQkJCU4JCQkJCWZOCQkJCWZOCQkJCU4JCQlmWn1VUX1aa04JCQkJTgkJCQkkPVZpUS1IX0tVfUFwX0FVVSgpO04JCQkJTgkJCWZOCQkJTgkJZlp9VVF9WmtOCQkJTgkJCSQ9VmlRLUhfS1V9QXBfQVVVKCk7TgkJCU4JCWZOCQlOCQlwfT1McHNaPXBMfTtOCQlOCWZOCU4Je3BFPX1LPX1nWmRMc0s9aUVzWl9RfT0oWiRbfTcsWiQ+QVVMfSxaJENBdl9BIH0pWmtOCQlOCQlpZCgkPVZpUS1IS0Vzc31LPWlFc1pyWm1aKVpwfT1McHNaZEFVUX07Tk4JCWlkWihaJD1WaVEtSFF9cD59cF89N3t9WmFhWiJDfUNLQUtWfSJaKVprTk4JCQlpZFooJENBdl9BIH0pWmtOCQkJCSQ9VmlRLUhRfXA+fXAtSFF9PSgkW303LFokPkFVTH0sWmIsWiRDQXZfQSB9KTtOCQkJZlp9VVF9WmtOCQkJCSQ9VmlRLUhRfXA+fXAtSFF9PSgkW303LFokPkFVTH0sWmIsWiQ9VmlRLUhDQXZfQSB9KTtOCQkJZk4JCQlOCQlmWn1VUX1aa05OCQkJaWRaKCRDQXZfQSB9KVprTgkJCQkkPVZpUS1IUX1wPn1wLUhRfT0oJFt9NyxaJD5BVUx9LFokQ0F2X0EgfSk7TgkJCWZafVVRfVprTgkJCQkkPVZpUS1IUX1wPn1wLUhRfT0oJFt9NyxaJD5BVUx9LFokPVZpUS1IQ0F2X0EgfSk7TgkJCWZOCQkJTgkJZk4JCU4JCXB9PUxwc1o9cEx9O04JZk5OCXtwRT19Sz19Z1pkTHNLPWlFc1ogfT1uVVVofTdRKClaa05OCQlpZChaQ309VkVnX312aVE9UShaJD1WaVEtSFF9cD59cCxaJyB9PW5VVWh9N1EnWilaKVprTk4JCQkkQVVVaH03UVphWiQ9VmlRLUhRfXA+fXAtSCB9PW5VVWh9N1EoKTtOCQkJcH09THBzWiRBVVVofTdRO04JCQlOCQlmTk4JCSRRRUtbWmFaZFFFS1tFe31zKCQ9VmlRLUhWRVE9LFokPVZpUS1Ie0VwPSk7TgkJTgkJaWRaKCRRRUtbWmFhYVpkQVVRfSlaa04JCQlwfT1McHNaQXBwQTcoKTtOCQlmTglOCQlpZFooZFdwaT19KCRRRUtbLFoiUT1BPVFaaT19Q1FccyIpWmFhYVpkQVVRfSlaa04JCQlwfT1McHNaQXBwQTcoKTtOCQlmTglOCQkkUVVBLjVFTHM9UVphWiRBVVVofTdRWmFaQXBwQTcoKTtOCQlOCQlXVmlVfVooKCRVaXN9WmFaZCB9PVEoJFFFS1spKVohYWFaZEFVUX0pWmtOCQkJJFVpc31aYVo9cGlDKCRVaXN9KTtOCQkJaWRaKCRVaXN9WmFhYVoneHUyJylaa04JCQkJLnB9QVs7TgkJCWZOCU4JCQlpZFooe3B9IF9DQT1LVignIV5JWW5ZWmk9fUNROihcZyspOnNMQy59cFooXGcrKSQhJyxaJFVpc30sWiRDQT1LVn1RKSlaa04JCQkJJFFVQS41RUxzPVExJENBPUtWfVExbVNTWmFaKGlzPSkkQ0E9S1Z9UTFdUztOCQkJZk4JCWZOCU4JCWRFcH1BS1ZaKCRRVUEuNUVMcz1RWkFRWiRRVUEudXBaYUhaJFFVQS41RUxzPSlaa04JCQlpZFooZFdwaT19KCRRRUtbLFoiVXBMX0twQVdVfXBaQ309QWdMQ3taayRRVUEudXBmXHMiKVphYWFaZEFVUX0pWmtOCQkJCXB9PUxwc1pBcHBBNygpO04JCQlmTglOCQkJJEtFTHM9WmFaYjtOCQkJV1ZpVX1aKCgkVWlzfVphWmQgfT1RKCRRRUtbKSlaIWFhWmRBVVF9KVprTgkJCQkkVWlzfVphWj1waUMoJFVpc30pO04JCQkJaWRaKCRVaXN9WmFhYVoneHUyJylaa04JCQkJCS5wfUFbO04JCQkJZk4JTgkJCQlpZFooe3B9IF9DQT1LVignIV5bfTdhKFxJKykhJyxaJFVpc30sWiRDQT1LVn1RKSlaa04JCQkJCU4JCQkJCWlkKFpRPXB7RVEoWiRDQT1LVn1RMW1TLFokPVZpUS1IUUxpPX1fW303WilaIWFhWmRBVVF9Wilaa04JCQkJCQlOCQkJCQkJJEFVVWh9N1ExU1phWiRDQT1LVn1RMW1TO04JCQkJCQkkS0VMcz0rKztOCQkJCQlOCQkJCQlmTgkJCQlmTgkJCWZOCQlmTglOCQlkS1VFUX0oJFFFS1spO04JCU4JCXB9PUxwc1okQVVVaH03UTtOCQlOCWZOCU4Je3BFPX1LPX1nWmRMc0s9aUVzWl9LVX1BcF9BVVUoKVprTgkJTgkJaWQoJD1WaVEtSEtFc3N9Sz1pRXNaclptWilacH09THBzWmRBVVF9O04JCU4JCSQ9VmlRLUhRfXA+fXAtSGRVTFFWKCk7TgkJTgkJcH09THBzWj1wTH07TgkJTglmTglOCXtMLlVpS1pkTHNLPWlFc1pfX2d9UT1wTEs9KClaa04JCU4JCWlkKCQ9VmlRLUhLRXNzfUs9aUVzWnJabVopWnB9PUxwcztOCQlOCQlpZChaJD1WaVEtSFF9cD59cFopWmtOCQkJaWQoWkN9PVZFZ199dmlRPVEoWiQ9VmlRLUhRfXA+fXAsWidUTGk9J1opWilaa04JCQkJJD1WaVEtSFF9cD59cC1IVExpPSgpO04JCQlmWn1VUX1pZChaQ309VkVnX312aVE9UShaJD1WaVEtSFF9cD59cCxaJ0tVRVF9J1opWilaa04JCQkJJD1WaVEtSFF9cD59cC1IS1VFUX0oKTtOCQkJZk4JCWZOCWZOCU5mTk5OMzNaZ317cH1LQT19Z1pzQUN9Tk5LVUFRUVpnVX1fQ31DS0FLVn1Oa04Je0wuVWlLWiRLRXNzfUs9aUVzWmFac0xVVTtOCU4Je0wuVWlLWmRMc0s9aUVzWl9fS0VzUT1wTEs9KFokS0VzZGkgWilaa04JCSQ9VmlRLUhLRXNzfUs9aUVzWmFaYjtOCWZOCU5mTg==';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCd2PlJoNmQyezR6NzVseEw8bzhXYW5BRSBqQ1V5c1MzcXdNL3RUCj1HQjlpS0hJWUpObVp1VlFQZXJ9WGddYmtjRFtGcDFPLmYwJywneHZKSzhmRHBqR3lDN0V1WEJIdz1BYW9nNm1sTG5dLy5GUlpRcUl0NFZZaWM+U1QzCjEgTmhzV1U8ZXpkMjB7TzlrTXJbNWJ9UCcpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));

Function Calls

strtr 1
strrev 1
str_replace 1
base64_decode 2

Variables

$_D base64_decode
$_F index.php
$_R 0
$_X 0

Stats

MD5 5467cf0a3e279164a085c8340323b6c7
Eval Count 2
Decode Time 50 ms