[Php-avanzado] Archivos bajo tml_public

Mario Gomez Cassou chompi2006 en yahoo.com.ar
Sab Ago 22 16:15:03 ART 2009


Hola Leo:
corregi el path al archivo a incluir pero PHP me tira el mensaje

Warning:  include() [function.include]:
open_basedir restriction in effect. File(/xxx/texto.txt) is not within
the allowed path(s):
(/home/cd000325/public_html:/tmp:/opt/apache/lib/php:/opt/php5/lib/php:/opt/ferozo/etc/suspen:/opt/ferozo/suspended.page)
in /home/cd000325/public_html/pruebas/under.php on line 9

Me parece que salvo que se toquen las configuraciones de apache o php (fuera de mi alcance) no habria manera de acceder desde php a los archivos que estan atras del directorio raiz.

La idea era tener archivos que queden inaccesibles desde fuera del servidor. Creo que el servicio de hosting me permite marcar directorios que funcionan asi, vere que se puede hacer
Saludos
Mario

El jue, 20-08-2009 a las 14:00 -0300, Leonardo Tadei - Pegasus Tech Supply escribió:
Hola Mario,
> 
> El jue, 20-08-2009 a las 07:07 -0700, Mario Gomez Cassou escribió:
> > Desde fuera de mi servidor solo se puede acceder al directorio
> > /home/cd000325/public_html que es el raiz
> > Quiero utilizar en mis scripts archivos que esten por debajo del
> > directorio publico y para esto cree
> > /home/cd000325/xxx/
> > donde puse una foto y un archivo de texto.
> > Para probar si se pueden utizar los archivos "escondidos" corro el
> > script
> > www.gomezcassou.com.ar/pruebas/under.php:
> > 
> >     <!! esta foto se ve porque esta sobre "public_html"-->
> >     foto local<br>
> >     <img src="foto.jpg">
> >     <!! esta foto NO se ve porque esta debajo "public_html"-->
> >     <br>en xxx<br>
> >     <img src="/../xxx/foto.jpg">
> >     <!-- PHP puede ver debajo "public_html"?-->
> >     <?php
> >         include "/../xxx/texto.txt";
> >     ?>
> > 
> > y me salen las advertencias:
> > 
> > Warning: include() [function.include]: open_basedir restriction in
> > effect. File(/home/cd000325/xxx/texto.txt) is not within the allowed
> > path(s):
> > (/home/cd000325/public_html:/tmp:/opt/apache/lib/php:/opt/php5/lib/php:/opt/ferozo/etc/suspen:/opt/ferozo/suspended.page) in /home/cd000325/public_html/pruebas/under.php on line 9
> > 
> > Warning: include(/home/cd000325/xxx/texto.txt) [function.include]:
> > failed to open stream: Operation not permitted
> > in /home/cd000325/public_html/pruebas/under.php on line 9
> > 
> > Warning: include() [function.include]: Failed opening
> > '/home/cd000325/xxx/texto.txt' for inclusion
> > (include_path='.:/opt/php5/lib/php')
> > in /home/cd000325/public_html/pruebas/under.php on line 9
> > 
> > al directorio "/opt" no tengo acceso por ftp, asi que solo me queda el
> > "tmp" para poner archivos, lo que no parece una buena idea y que
> > tampoco funciona.
> > 
> > ¿no puede acceder PHP de alguna manera a este submundo?
> > 
> > Gracias
> 
>     Se puede acceder desde PHP, pero el que accede debe ser PHP y no código
> HTML.
> 
>     Esto no tiene que andar:
> <img src="/../xxx/foto.jpg">
> 
>     Esto sí:
> include "/../xxx/texto.txt";
> 
> pero está mal la ruta: si empieza con / es la raíz del disco del
> servidor, y no la raíz pública de la web.
> 
>     La ruta completa correcta sería:
> include "/home/cd000325/xxx/texto.txt";
>     o relativa asumiendo que este script está en la raíz publica:
> include "../xxx/texto.txt";
> 
>     En la documentación de la función header del manual de PHP hay un
> ejemplo para usar archivos invocados por PHP:
> 
> 
> <?php
> // We'll be outputting a PDF
> header('Content-type: application/pdf');
> 
> // It will be called downloaded.pdf
> header('Content-Disposition: attachment; filename="downloaded.pdf"');
> 
> // The PDF source is in original.pdf
> readfile('original.pdf');
> ?>
> 
>     Salu2!
> 



      Yahoo! Cocina

Encontra las mejores recetas con Yahoo! Cocina.


http://ar.mujer.yahoo.com/cocina/


Más información sobre la lista de distribución Php-avanzado