Foros del Web » Programando para Internet » PHP »

Permisos

Estas en el tema de Permisos en el foro de PHP en Foros del Web. Hola, existe alguna manera de prohibir que los archivos que se encuentran en carpetas superiores puedan incluir a lo de los niveles más bajos?. /hola/hola/prueba.php ...
  #1 (permalink)  
Antiguo 30/03/2009, 08:05
 
Fecha de Ingreso: mayo-2005
Mensajes: 109
Antigüedad: 18 años, 11 meses
Puntos: 0
Permisos

Hola, existe alguna manera de prohibir que los archivos que se encuentran en carpetas superiores puedan incluir a lo de los niveles más bajos?.

/hola/hola/prueba.php

no debería poder incluir a

/hola/otro.php


Gracias!

Un saludo
  #2 (permalink)  
Antiguo 30/03/2009, 08:42
 
Fecha de Ingreso: septiembre-2004
Mensajes: 324
Antigüedad: 19 años, 7 meses
Puntos: 13
Respuesta: Permisos

alomejor cambiando el parametro SET_INCLUDE_PATCH con INISET();....
  #3 (permalink)  
Antiguo 30/03/2009, 10:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Permisos

De hecho es con safe_mode y open_basedir.

Saludos.
  #4 (permalink)  
Antiguo 30/03/2009, 13:03
 
Fecha de Ingreso: mayo-2005
Mensajes: 109
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: Permisos

Hola, gracias por las respuestas, alguno dispone de algun ejemplo?


Si simplemente activo el safe mode debe funcionar?

En el directorio raiz pongo un php.ini con:

php_value open_basedir ON

Ya no se debería poder incluir ningún archivo del directorio raiz desde raiz/cosa/ por ejemplo, n?

Un saludo

Última edición por glayvin; 30/03/2009 a las 13:19
  #5 (permalink)  
Antiguo 30/03/2009, 13:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Permisos

open_basedir es el PATH a la ruta que solamente pueden incluir.

Saludos.
  #6 (permalink)  
Antiguo 30/03/2009, 13:57
 
Fecha de Ingreso: mayo-2005
Mensajes: 109
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: Permisos

Hola, he creado un ficher php.ini en public_html.

open_basedir=/home/sitio/public_html/carpeta/

Lo que pasa es que los ficheros que estan en /carpeta/ si que pueden incluir a los que estan en public_html.
No encuentro la manera :S

Gracias!

edito: En cambio si pongo el php.ini en carpeta i pongo la ruta de la carpeta si que funciona, lo que me interesaría, en cambio es poner el archivo php.ini en public_html i que se aplique a las subcarpetas. :S

y como puedo desactivar la funcion ini_set() ?

Última edición por glayvin; 30/03/2009 a las 14:16
  #7 (permalink)  
Antiguo 30/03/2009, 16:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Permisos

La desactivas en el php.ini, y no basta con poner un php.ini en public_html, tienes que modificar el php.ini que usa el interprete de PHP.

Realiza un php_info() y verifica donde esta la ruta del php.ini, ese es el que tienes que modificar.

Saludos.
  #8 (permalink)  
Antiguo 30/03/2009, 16:52
 
Fecha de Ingreso: mayo-2005
Mensajes: 109
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: Permisos

Hola Gatorv, el problema es que estoy en un servidor compartido... entonces no tengo nada que hacer, n?
  #9 (permalink)  
Antiguo 30/03/2009, 16:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Permisos

Pues sin acceso al php.ini no puedes hacerlo, ya que ahí es donde estan las directivas que restringen eso como disabled_functions y open_basedir.

Saludos.
  #10 (permalink)  
Antiguo 30/03/2009, 18:02
 
Fecha de Ingreso: mayo-2005
Mensajes: 109
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: Permisos

Hola,

Voy a hacer una cosa... copiar automaticamente el php.ini en cada nueva carpeta. Y evitar que se pueda editar o eliminar.

Última edición por glayvin; 30/03/2009 a las 23:25
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 20:24.