/s',''); $array_malicioso['applyfilter']=array('/function applyfilter\((.*)\'applyfilter\', 1, 0\);/s',''); $array_malicioso['document.write-externo']=array('/\/\*[A-Za-z0-9-]*\*\/[\r\n\s]*(.*)[\r\n\s]*\/\*\/[A-Za-z0-9-]*\*\//im',''); // $array_malicioso['#caracteres#codigo#/caracteres#']=array('/\/\#[A-Za-z0-9-]*\*\/[\r\n\s]*(.*)[\r\n\s]*\/\*\/[A-Za-z0-9-]*\*\//im',''); $posible_array_malicioso=array(); $posible_array_malicioso[]=array('/eval\(base64_decode\(\"(.*(?!= \(==\)))\"\)\);/m','- Busca eval(base64_decode(...)) y comprueba si es necesario para el funcionamiento normal.'); $posible_array_malicioso[]=array('/\bjs.php|\ Limpieza de código

Revisión finalizada, se ha encontrado código malicioso o susceptible de serlo ( avisos).

Si existen, comprueba los avisos en rojo.

¡¡ Enhorabuena, no se ha encontrado código malicioso conocido !!

Si sospechas que existe alguna amenaza que no se ha encontrado, ponte en contacto con nosotros en ektorsite.com

Tiempo de carga $tiempo segundos.
"; ?>
Revisa el htaccess de la carpeta ".$ruta.""; } } return $mensaje; } //limpiamos los códigos maliciosos y devolvemos las lineas que tengan posibilidad de contener más código oculto function limpiar_fichero($fichero,$array_malicioso,$posible_array_malicioso) { $mensaje=$mensaje_final=""; /*RECORREMOS EL ARRAY MALICIOSO Y REEMPLAZAMOS EL CODIGO MALICIOSO POR LO INDICADO EN EL ARRAY*/ $contenido_fichero = file_get_contents($fichero); //abrimos el fichero y obtenemos todo el contenido foreach ($array_malicioso as $nombre=>$regex) { if (preg_match($regex[0], $contenido_fichero)) //solo actualizamos si encontramos el codigo { $contenido_fichero = preg_replace($regex[0], $regex[1], $contenido_fichero); //sobreescribimos el codigo malicioso con lo indicado en el array $mensaje.="
Se ha encontrado y limpiado el código malicioso '".$nombre."' en el fichero.
"; $_SESSION['contador']++; } } if ($mensaje!="") file_put_contents($fichero, $contenido_fichero); //solo guardamos si se encontraron errores /*VOLVEMOS A ABRIR EL FICHERO, ESTA VEZ PARA RECORRERLO LINEA A LINEA Y BUSCANDO POSIBLES CODIGOS MALICIOSOS A REVISAR MANUALMENTE*/ $DescriptorFichero = fopen($fichero,"r"); $lin='1'; while(!feof($DescriptorFichero)) { $linea = fgets($DescriptorFichero,4096); if ($linea!='') $mensaje.=revisar_posibles($linea,$lin,$posible_array_malicioso); //pasamos la linea en la que se produciría el error $lin++; } if ($mensaje!="") //devolvemos mensaje solo si el fichero se limpió o había sospechas de codigo malicioso a revisar manualmente $mensaje_final="
Fichero sospechoso: ".$fichero.".".$mensaje."
"; return $mensaje_final; } //revisamos los posibles codigos maliciosos a revisar manualmente function revisar_posibles($texto,$linea,$posible_array_malicioso) { $mensaje=""; foreach ($posible_array_malicioso as $regex) { if (preg_match($regex[0], $texto)) { $mensaje.="
Existe la posibilidad de que contenga códigos maliciosos ocultos en la linea ".$linea."."; if ($regex[1]!='') $mensaje.="
".$regex[1]; $mensaje.="
"; $_SESSION['contador']++; } } return $mensaje; } function getTiempo() { list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } ?>