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 |
Stats
MD5 | 5467cf0a3e279164a085c8340323b6c7 |
Eval Count | 2 |
Decode Time | 50 ms |