Foros del Web » Programando para Internet » PHP »

Usar variables como paginas

Estas en el tema de Usar variables como paginas en el foro de PHP en Foros del Web. Queria saber como se le llama al proceso de usar variables en lugar de los nombres de los archivos: index.php?pagina=principal en lugar de principal.php Que ...
  #1 (permalink)  
Antiguo 04/06/2011, 16:11
Avatar de Jason512  
Fecha de Ingreso: marzo-2008
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 2
Usar variables como paginas

Queria saber como se le llama al proceso de usar variables en lugar de los nombres de los archivos:

index.php?pagina=principal en lugar de principal.php

Que ventajas tiene y que posibles problemas de seguridad puede generar su uso.

Gracias por sus respuestas.
  #2 (permalink)  
Antiguo 04/06/2011, 16:38
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 11 meses
Puntos: 18
Respuesta: Usar variables como paginas

Mira, eso se llama "hacer un include" .

La ventaja que tiene es que miras siempre "un marco de tu página" y solo un fragmento es el que cambia....o sea el contenido que cambia es otra pagina que se "INCLUye" en el marco.

La pregunta del tema de seguridad, se la dejo a otro colega, aunque si tuviera que apostar, diría que es mas seguro de cierta manera. Mira mi web y date cuenta que cambia y que no. isawebs.net


Si te parece interesante mi respuesta, ponme un Karmita.
  #3 (permalink)  
Antiguo 05/06/2011, 03:10
 
Fecha de Ingreso: noviembre-2009
Mensajes: 226
Antigüedad: 15 años
Puntos: 19
Respuesta: Usar variables como paginas

Buenas,

No sé si te refieres a lo que dice isabellawebs, pero igual te refieres a que en lugar de aparecer esto:

www.ejemplo.com/index.php?id=1 aparezca...

www.ejemplo.com/index/id/1

Es decir, una url amigable. Esto se logra mediante el módulo de Apache mod_rewrite. En GOOGLE aparecen millones de entradas sobre ese tema :D.

Lo bueno que tiene es que crea url's más legibles y más indexables por los buscadores.

Si me equivoco y te refieres a lo que dice isabellawebs, pues complemento su respuesta, en el tema de seguridad:

Si tu haces un include de una página que te llega por GET, puedes sufrr un ataque, denominado REMOTE FILE INCLUSION. Esto es...

Yo te mando esta URL: www.ej.com/x.php?pag=http://www.mipag.com

Y tu código es como sigue:

include($_GET["pag"]);

Esto estaría bien, pero tiene esa vulnerabilidad RFI, dado que si yo modifico la URL y le pongo esto:

www.ej.com/x.php?pag=www.mipagmaliciosa.com

Pues tu lo incluirias igualmente, siendo mi pagina maliciosa, con código que puede dejar al descubierto alguna parte de tu aplicación.

¿Solución? Filtrar la entrada: si lo que llega por GET no es lo que esperas, cancelas el proceso, o muestras un mensaje de error.

Espero que te haya servido. Cualquier cosa extra, comenta.

Saludos!
__________________
Mi blog: magdkudama.com

Mi clase de validación de datos: magdkudama.com/validation
  #4 (permalink)  
Antiguo 05/06/2011, 09:49
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 11 meses
Puntos: 18
Respuesta: Usar variables como paginas

Muy bueno lo que dices sobre get, a ver si un dia nos enseñas cómo hacer eso que dices o como se denomina, para ser mar certeros a la hora de buscar en google.
  #5 (permalink)  
Antiguo 05/06/2011, 09:51
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: Usar variables como paginas

Cita:
Iniciado por isabellawebs Ver Mensaje
Muy bueno lo que dices sobre get, a ver si un dia nos enseñas cómo hacer eso que dices o como se denomina, para ser mar certeros a la hora de buscar en google.
web modular (usando parámetros claro)
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #6 (permalink)  
Antiguo 05/06/2011, 10:00
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 11 meses
Puntos: 18
Respuesta: Usar variables como paginas

No, yo me referia a lo de seguridad.
  #7 (permalink)  
Antiguo 05/06/2011, 10:10
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: Usar variables como paginas

?

Sólo tienes que validar la variable que recibes.

P.E:
si debe ser un número: isnumeric()
si debe tener X caracteres strlen()


y después hay varias funciones que se pueden usar:
trim()
strip_tags()
stripslashes()

etc etc

Aunque lo importante de una modular también es comprobar que el archivo exista.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #8 (permalink)  
Antiguo 05/06/2011, 13:08
 
Fecha de Ingreso: noviembre-2009
Mensajes: 226
Antigüedad: 15 años
Puntos: 19
Respuesta: Usar variables como paginas

Hola isabellawebs, busca RFI en Google, y verás lo que es.

Una explicación buena es esta mía: http://webcodedesigner.wordpress.com...inclusion-rfi/ :D

Saludos!
__________________
Mi blog: magdkudama.com

Mi clase de validación de datos: magdkudama.com/validation
  #9 (permalink)  
Antiguo 05/06/2011, 14:23
Avatar de Jason512  
Fecha de Ingreso: marzo-2008
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Usar variables como paginas

Yo simplemente lo estaba haciendo algo asi:

switch ($_GET['pagina']) {

case "principal":
include ("principal.php");
break;
case "trabajo":
include ("trabajo.php");
break;
default:
header ("Location: index.php");
break;
}

No se si es suficiente para evitar un ataque RFI.
  #10 (permalink)  
Antiguo 05/06/2011, 16:33
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 14 años
Puntos: 48
Respuesta: Usar variables como paginas

Cita:
Iniciado por Jason512 Ver Mensaje
Yo simplemente lo estaba haciendo algo asi:

switch ($_GET['pagina']) {

case "principal":
include ("principal.php");
break;
case "trabajo":
include ("trabajo.php");
break;
default:
header ("Location: index.php");
break;
}

No se si es suficiente para evitar un ataque RFI.
Si, eso es suficiente para evitar RFI aunque siempre al agregar un nuevo apartado deveras agregarlo, yo en esto lo que hago es buscar el archivo en el directorio de mi servidor si esta lo incluye sino le manda un mensaje que el modulo no existe.

Etiquetas: variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:10.