Comunidad de diseño web y desarrollo en internet online

Problema con include

Citar            
MensajeEscrito el 29 Ago 2007 04:50 pm
Hola,

Estoy usando un inlude, el cual toma la variable mediante la url del navegador, ejemplo

http://www.sitio.com/?include=archivo.php

Ahora bien, lo que secede es lo siguiente, que se yo edito el link y le mando por ejemplo

http://www.sitio.com/?include=http://www.otrositio.com

Se me carga otro sitio dentro del mio.

Queria saber si hay alguna forma de poder evitar eso.

Saludos.

Por rodrigo.art

56 de clabLevel



 

Argentina

msie
Citar            
MensajeEscrito el 29 Ago 2007 07:22 pm
Pues controla que no sea una URL ;).

Hay otra forma de hacer eso sin usar el nombre de los archivos en la URL: crea un archivo de índices (un archivo de texto) y en la URL le pasas el código, algo así:

indice=index.php
login=logueo.php
cont=contenido.php

y en la URL sería http://www.example.com/?archivo=indice

Así estás seguro que tu sitio no cargará nada que no deba cargar.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 29 Ago 2007 07:33 pm
Gracias por las respuesta no entendi muy bien lo que me aconsejas sobre el archivo de indices.

Por el momento encontre la solucion en un post parecido que havia

http://www.cristalab.com/foros/viewtopic.php?t=36666&highlight=&sid=958d67688646811cf11bd84fdbe30a73

ahi se explica como quitar caracteres indeseados, en mi caso el http://

Lo hace con esta funcion

Código :

<?php
function limpia($var){ 
  $malo = array("\\","/",";","\'","<",">","'",":");
   $i=0;
$o=count($malo);
   while($i<=$o){ 
     $var = str_replace($malo[$i],"",$var);
      $i++;
   }   
return $var;
} ?>


Saludos.

Por rodrigo.art

56 de clabLevel



 

Argentina

msie
Citar            
MensajeEscrito el 07 Sep 2007 11:11 pm
Puedes crear un array que te contenga las secciones de tu web, por ejemplo:

Código :

<?php
$ext='.php';

$nav_list=array('Index','blog','juegos');
//Secciones que podemos incluir en nuestra pagina

$include=$_GET['include'];

in_array($include , $nav_list)?include($include.$ext):print('Archivo invalido');

?>


Metodo sencillo si lo que buscas es permitir solo la inclusiòn de archivos permitidos, util para incluir archivos de navegacion.

Puedes pulir este metodo mucho mas, puedes usar la funcion limpia() que postearon anteriormente, experimentar es la base del descubrimiento.
Saludos

Por jaimoco

299 de clabLevel



Genero:Masculino  

choya bay , mexico

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.