#8 a pesar de que tu version peca de lo mismo (code injection), es cierto que con el "path" anidado supuestamente evitas el problema de code injection.
Pero has pensado en que sucede si en el GET se coloca "../" y similares? Aunque no sean paths relativos ya que son remotos, juegate algo a que funciona.
Quereis un consejo?
NO USEIS NI GET NI POST PARA PASAR NOMBRES DE FICHEROS.
NO LO HAGAIS.
Poned variables que luego vosotros controleis independientemente en el codigo, pero NUNCA que la variable sea el nombre del fichero para hacer un include "valordevariable_que_vieneporGET".php.
Da igual como lo modifiquéis o protejáis, da igual que anideis paths o lo que sea, os la acabaran colando.
Por GET pon una variable con un valor que tu luego sepas que es, y dentro del switch gestionalo. Y punto.
Ya no lo diré mas yo. Ya me he ganado el cielo. A partir de aquí, jugarosla tanto como queráis.
Saludos. xD
#6, cargar implica llamar a algo.
Algo puede ser llamado via AJAX por ejemplo, o si es un proceso natural, pues por GET via sentencia URL o POST via formularios. Si es via lenguaje servidor, pues en PHP, via include.
No hay mas.
Si no quieres usar GET, debes hacer que el formulario, vaya a la misma pagina via POST y que la url sea algo con parametros en get:
en index.php:
...
...
<form name="lol" action="index.php?variable=valor&variable2=valor&..." method="POST">
...
Pillas? Así haces un POST al indice, con parametros en el GET que te permitiran procesarlos en el switch.
O usas un HIDDEN en el mismo formulario con el valor a procesar en el Switch...
Etc tio. Hay unas cuantas maneras. XD