Tengo un sitio web realizado tipo plantilla, donde el diseño se ecuentra en index.php y las distintas secciones son llamadas mediante index.php?go=seccion.
Aca les pongo el code:
Código PHP:
cabecera en HTML... bla bla bla
<?php
$inclussion = isset($_GET['go'])?basename("$_GET[go].php"):'';
if(empty($inclussion)){
include('main.php');
}else{
if(file_exists($inclussion)){
include("$inclussion");
} else {
echo "Sección inválida";
}
}
?>
pie en HTML... bla bla bla
Si entramos a index.php?go=muestras entonces se incluye() el archivo muestras.php. Pero si entramos a muestras.php directamente...se verá el contenido de dicho archivo y no quiero que eso pase.
He estado pensando como validar eso, pero no se me ocurre nada. Ni con sesiones, ni cookies funciona. Con variables sencillas no funcionaría, ya que cualquier usuario podría colocar la variable via URL en caso de que el servidor tenga register_globals=on.
Tantas horas de trabajo me han frustrado. ¿se les ocurre algún buen método para resolver este agujero de seguridad?
Mil gracias y un saludo!
