Foros del Web » Programando para Internet » PHP »

Realizar includes a archivos fuera de la carpeta web

Estas en el tema de Realizar includes a archivos fuera de la carpeta web en el foro de PHP en Foros del Web. Buen día señores, Creo que el titulo del post lo dice todo. Lo que ocurre es que tengo un sitio algo viejito (de los primeros ...
  #1 (permalink)  
Antiguo 09/11/2011, 15:21
Avatar de tlaloc_2005  
Fecha de Ingreso: diciembre-2005
Ubicación: Barranquilla
Mensajes: 90
Antigüedad: 18 años, 3 meses
Puntos: 5
Realizar includes a archivos fuera de la carpeta web

Buen día señores,

Creo que el titulo del post lo dice todo. Lo que ocurre es que tengo un sitio algo viejito (de los primeros que hice), el cual desarrolle con una plantilla de dreamweaver y le metí PHP estructurado para hacerlo dinámico.

Debido a unos ataques que sufrió el sitio, toco actualizarle la seguridad, En general resulta mas eficiente construir el sitio desde cero utilizando la orientación a objetos o algún framework de desarrollo, sin embargo esta seria una opción a largo plazo. Por ahora estoy montando algunas clases para la integración con la base de datos y el manejo de sesiones.

Me preguntaba que tan posible es yo colocar todas las clases en una carpeta diferente a la carpeta web (p.Ej: var/www/), en las pocas pruebas que he hecho hasta ahora, no he podido con php salirme de la carpeta web.

Por esta razón consulta su opinión.
__________________
Johan J. Gutierrez D.
Ingeniero Industrial, Tecnologo en Sistemas
  #2 (permalink)  
Antiguo 09/11/2011, 15:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Realizar includes a archivos fuera de la carpeta web

De hecho es lo más correcto, que todos los scripts PHP esten fuera del directorio webroot, así mitigas mucho los ataques que pueda sufrir tu sitio.

¿Que error te mostro?, con que indiques la ruta completa y correcta a include() debes de poder incluir, a menos que estes ejecutando PHP con safe_mode y open_basedir, con lo cual tendrás que pedir al hosting que te permita incluir archivos arriba del webroot.

Saludos.
  #3 (permalink)  
Antiguo 09/11/2011, 15:57
Avatar de tlaloc_2005  
Fecha de Ingreso: diciembre-2005
Ubicación: Barranquilla
Mensajes: 90
Antigüedad: 18 años, 3 meses
Puntos: 5
De acuerdo Respuesta: Realizar includes a archivos fuera de la carpeta web

Cita:
Iniciado por GatorV Ver Mensaje
De hecho es lo más correcto, que todos los scripts PHP esten fuera del directorio webroot, así mitigas mucho los ataques que pueda sufrir tu sitio.

¿Que error te mostro?, con que indiques la ruta completa y correcta a include() debes de poder incluir, a menos que estes ejecutando PHP con safe_mode y open_basedir, con lo cual tendrás que pedir al hosting que te permita incluir archivos arriba del webroot.

Saludos.
Gracias por la atención.

Al servidor donde esta montada la aplicación no tengo acceso, sin embargo yo les comente a los administradores del mismo lo que quería hacer y ellos me dijeron que lo que podrían hacer es crear una carpeta en algún lado diferente al webroot y darme acceso por ssh.

El servidor esta en un sistema linux, asumo que centOS, pero no estoy seguro. Y la ruta de las carpetas seria la siguiente:

Ruta del sitio:
/var/www/nombre_del_sitio/mis_archivos

Ruta a la cual me dieron acceso en el server:
/home/nombre_carpeta/settings/mis clases php

Me ha resultado bien difícil acceder a esta carpeta con PHP, y la verdad, me entra la duda que con la organización que les mostré, se pueda acceder a ella.
__________________
Johan J. Gutierrez D.
Ingeniero Industrial, Tecnologo en Sistemas
  #4 (permalink)  
Antiguo 09/11/2011, 16:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Realizar includes a archivos fuera de la carpeta web

Como te digo, todo depende de las directivas open_basedir y safe_mode, revisa ejecutando un php_info() y revisa las directivas, ya que mucho de lo que quieres hacer se basa en esas directivas.

Etiquetas: rutas, web2.0, carpetas
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 13:45.