Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/09/2010, 17:29
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Mejorar web modular

Cita:
Iniciado por fernandozunni Ver Mensaje
Yo tengo una aplicación, mas o menos parecida al ejemplo que describís, que esta en la web hace varios años y nunca tuve ningun problema, en el index esta parte de codigo hace que si la variable 'modulo' esta vacia, se redirige al home (pagina principal) y si ingresan un modulo que no existe, va al modulo error.
Cada modulo tiene que estar presente en el array, ademas te cuento que uso url amigables y no hay problema.
Código PHP:
Ver original
  1. $modulo=!empty($_GET['modulo']) ? $_GET['modulo'] : 'home';
  2. $module=htmlentities($modulo);
  3. $module=strip_tags($module);
  4. $module=(string)$module;
  5.  
  6. $chequeodemodulos=array('home', 'ubicacion', 'historia', 'editorial', 'foro',  'fotos', 'contacto');
  7. if(!in_array($module, $chequeodemodulos)){
  8.     $module="error";
  9. }
Pero si usas url amigables, imagino que tendrán muy posiblemente esta forma
tuweb.com/?modulo=home
tuweb.com/?modulo=ubicacion
etc...

Si te fijas nunca estará vacía la variable modulo, porque siempre llamarás a la web pasándole un parámetro, al menos así lo veo yo...
tuweb.com/historia
tuweb.com/ubicacion

¿Qué opináis del párrafo que puse arriba?

"Recomendable sería que tanto los directorios de Layouts, Includes y Modulos, no estén disponibles en el mismo nivel que el Directorio DocumentRoot del WebServer, ya que de esa manera, por quien conozca el árbol de directorios, podría ejecutar los archivos llamándolos directamente. Para evitar esto, podemos tanto mover los directorios un nivel hacia arriba y modificar el archivo de configuración para que encuentre estos directorios ( y como vemos, no tendriamos que tocar nada en el código de la aplicación ) o bien utilizar algún método para proteger esos directorios por contraseña, como puede ser un archivo .htaccess de Apache."

Salu2!