"Resuelve rápido?" ...
Si usas "require()" en lugar de include() veras que tu script no continua si hay algún error de carga de ese archivo. Pero .. si tienes ese tipo de problemas tendrás que ver por otro lado donde tienes el problema con tu sistema de archivos o incluso configuración de tu servidor HTTP y ver cuantas peticiones a tiempo acepta de un mismo cliente (por ahí puede estar el problema).
---------
El filtrado por ejemplo sería con un array donde esta contenga el nombre/ruta de tus paginas y verificar en ese array si lo que se está pidiendo está en ella:
Código PHP:
<?
$urls['nose']="nose.html";
$urls['blabla']="blabla.php";
if (!empty($_GET['url'])){
if (in_array($_GET['url'])){
require ($urls{$_GET['url']});
} else {
require ("error.html");
}
} else {
require ("codigo_por_defecto.nose");
}
?>
Y llamas a tus páginas por el indice de ese array creado:
index.php?url=nose
index.php?url=blabla
Si accedes a index.php .. carga el "código por defecto" .. si indicas un index.php?url=noexiste .. o index.php?url= .. carga el código de "error" ...
Y a todo esto puedes hacer más validaciones tipo "file_exists()" para comprobar que realmente exista el archivo antes de intentar hacer "incluirlo" (por si lo borrastes y no modifastes el array de $urls o te equivocastes).
Un saludo,