Di Biase Jos
Cita: Dice que los hackers utilizan los "includes" para hackear las webs.
asi que yo IMAGINE:
Si cambio los nombres de esos files, el Hacker no podra hacerlo.
Ves .. aquí ya estás "parcheando" un problema de seguridad dandole una solución simple ..
En ese caso particular hay que averigüar por qué te pueden hacer un "include" y llamar a un archivo que NO es el que corresponde ..
Te pongo un simple ejemplo
Si tu haces:
Código PHP:
<?
include($_GET['archivo']);
?>
Si llamo a ese script via: nose.php?archivo=pagina.tal
voy a poder cambiar el archivo que llame e incluir el que quiera .. ejemplo el tipico: conexion.php config.php y similares ... O peor aún dependiendo de la configuración de ese servidor (PHP principalmente) podría llegar hasta el "raiz" o el etc/passwords y similares archivos ...
pero si hago algo tipo:
Código PHP:
<?
// array con las páginas (nombre y ruta si procede) que voy aceptar como válidas.
$array_paginas_autorizadas=array("uno.php","dos.php");
// valido el nombre de la página que se pretende incluir ...
if (in_array($GET['include'],$array_paginas_autorizadas)){
include($_GET['archivo']);
} else {
echo "no te pases de listo xD";
}
?>
Con esa simple validación .. ya se está filtrando lo que puede llegar desde "fuera" de tu script y sólo autorizar las páginas que tenga en mi lista de autorizadas (en ese array en el ejemplo).
Cuanto más conozcas el lenguaje que trabajas y el ambiente que trabajas (cliente-servidor) .. veras mejor como solventar problemas de seguridad de ese tipo
Como veras .. la solución (una de tantas) no es tán compleja .. pero requiere de "pensar" un poco por qué suceden las cosas y eso pasa por conocer lo que estás trabajando. (PHP ..)
Un saludo,