Foros del Web » Programando para Internet » PHP »

¿200 includes?

Estas en el tema de ¿200 includes? en el foro de PHP en Foros del Web. Hola a todos. Estuve siguiendo este tutorial para hacer la plantilla de mi web y cambiar el contenido usando includes: http://www.web2.0facil.com/2007/10/19/includes-con-php/ . El problema es ...
  #1 (permalink)  
Antiguo 16/07/2009, 19:09
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 9 meses
Puntos: 26
¿200 includes?

Hola a todos.
Estuve siguiendo este tutorial para hacer la plantilla de mi web y cambiar el contenido usando includes: http://www.web2.0facil.com/2007/10/19/includes-con-php/. El problema es que mi web tiene muchas secciones, alrededor de 200 y debería hacer 200 cases de esta forma:
<?php switch ($_GET[’go’])
{case 1:include(”contenido1.php”);break;
case 2:include(”contenido2.php”);break;
case 3:include(”contenido3.php”);break;
case 4:include(”contenido4.php”);break;
case 0:default:include(”inicio.php”);}?>
El problema para mí no es hacer tantos, sino que me gustaría saber si es algo muy exagerado hacer eso y si puede resultar muy pesado para el servidor.
He visto otra forma como esta:
<?php if(empty($sec)) {include("presentacion.html");} else{if(file_exists($sec.".php")) include($sec.".php"); elseif(file_exists($sec.".html")) include($sec.".html"); else echo 'Perdón pero la página solicitada no existe'; }?>
...pero parece ser insegura porque cualquiera podría ejecutar un código malicioso sin problemas.
Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 16/07/2009, 19:14
 
Fecha de Ingreso: enero-2009
Mensajes: 100
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: ¿200 includes?

puede ser halgo asi:

Código PHP:

if ( $_GET['go'] != 0)
{
include(
"contenido".$_GET['go'].".php");
}
else
{
include(
"inicio.php");

  #3 (permalink)  
Antiguo 16/07/2009, 19:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿200 includes?

la segunda forma "parece" insegura, si lo crees...

pero el código planteado es correcto, ya que al fin y al cabo solo incluyes documentos de cierta carpeta... y no, lo que venga...

Código PHP:
$sec $_GET['seccion'];
$doc "contenidos/{$sec}.html";

// ...

include $doc
este ultimo ejemplo es muy seguro, si obviamente tienes todo bajo control en tu servidor... además, son tus documentos... y ninguno de ellos tiene código malicioso ¿o si??


y lo mejor, si ningún documento necesita PHP... no uses include, usa esto:

Código PHP:
echo file_get_contents($doc); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 16/07/2009 a las 19:22
  #4 (permalink)  
Antiguo 16/07/2009, 19:24
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 9 meses
Puntos: 26
Respuesta: ¿200 includes?

Gracias por responder. Igual me gustaría saber si el hecho de hacer 200 cases realmente afecta al rendimiento o no. El problema es que en el segundo método no sé cómo hacer para buscar en más de una sub-carpeta, ya que los archivos a incluir dentro de la plantilla están en distintas sub-carpetas y no en la misma.

Última edición por RabidFish; 16/07/2009 a las 19:33
  #5 (permalink)  
Antiguo 16/07/2009, 19:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿200 includes?

Cita:
Iniciado por RabidFish Ver Mensaje
Gracias por responder. Igual me gustaría saber si el hecho de hacer 200 cases realmente afecta al rendimiento o no.
tal ves, pero al final no importa mucho...

por eso es mejor un código mas genérico, y no tanto switch/case
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 16/07/2009, 19:32
 
Fecha de Ingreso: enero-2009
Mensajes: 100
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: ¿200 includes?

Cita:
Iniciado por Jhonjhon_123 Ver Mensaje
puede ser halgo asi:

Código PHP:

if ( $_GET['go'] != 0)
{
include(
"contenido".$_GET['go'].".php");
}
else
{
include(
"inicio.php");

para ponerle seguridad podemos hacer esto:

Código PHP:

if (is_numeric($_GET['go']))
{

if ( 
$_GET['go'] != 0)
{
include(
"contenido".$_GET['go'].".php");
}
else
{
include(
"inicio.php");
}


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




La zona horaria es GMT -6. Ahora son las 01:35.