Ver Mensaje Individual
  #6 (permalink)  
Antiguo 09/11/2006, 07:41
Avatar de helthon
helthon
 
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 19 años, 8 meses
Puntos: 7
revisalo desde aca

http://www.forosdelweb.com/f18/comentarios-php-remote-file-inclucion-327838/
Código PHP:
<?php 
// logicamente aqui no hay problema 
include('algo.php'); 


//aqui tampoco hay problema 
$pagina $_GET['pagina']; 
$permitidas = array('principal','noticias','algo'); 
if(
in_array($pagina$permitidas)) 
    include(
$pagina.'.php'); 



//aqui tampoco 
$pagina $_GET['pagina']; 
switch(
$pagina

    case 
'principal': include('principal.php'); break; 
    case 
'noticias': include('news.php'); break; 
    case 
'algo': include('algo.php'); break; 
    default: include(
'principal.php'); 



/* ATENCIÓN - WEEEEEEEEEEEEEEEE */ 
//el problema está en no saber que recibes 
include($pagina); //ESTO NUNCA!!! 
?>
Cita:
Solo una aclaración más ...
Código PHP:
/* ATENCIÓN - WEEEEEEEEEEEEEEEE */
//el problema está en no saber que recibes
include($pagina); //ESTO NUNCA!!!

así como mencionan .. y como se comenta NUNCA! usar así un "include()" ni un fopen() .. ni un readfile() .. ni funciones que puedan llamar a código (para ejecutarlo como es include) ni para abrirlo (como es el caso de fopen() .. readfile() .. etc).

Pero .. en ese ejemplo si -antes- y he de ahí lo importante se ha definido dicha variable .. no habrá problemas:


Código PHP:
$pagina="nose.php";
include($pagina); // siempre y cuando esté definido $pagina.

Por supuesto .. el ejemplo no es de lo más "ejemplar" valga la rebundancia .. pero imaginemos el caso que tenemos ese switch($pagina) y en lugar de hacer un montón de include() por cada "case" .. definimos $pagina y luego hacemos un include ($pagina) con el valor que resultó tras pasar por el Switch() .. (vendría a ser lo mismo que el ejemplo anterior que indicó $thisone sobre el uso de in_array() ..)

Un saludo,
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura