Foros del Web » Programando para Internet » PHP »

Subir archivos y permisos

Estas en el tema de Subir archivos y permisos en el foro de PHP en Foros del Web. Tengo un script en php que me sube archivos. Lo he probado y funciona. El problema está en el tema de los permisos. Si los ...
  #1 (permalink)  
Antiguo 28/09/2011, 04:40
 
Fecha de Ingreso: mayo-2010
Mensajes: 128
Antigüedad: 14 años
Puntos: 13
Subir archivos y permisos

Tengo un script en php que me sube archivos. Lo he probado y funciona. El problema está en el tema de los permisos. Si los cambio desde la consola (por ssh) y los pongo a 777 en la carpeta donde quiero que el usuarios (cualquier usuario) suba ficheros pues funciona, pero desde php no.

Lo hago de la siguiente forma:

Código PHP:
//SI SE INSERTAN NOS SITUAMOS EN LA RUTA ORIGEN A PARTIR DE LA CUAL SE CREARAN LAS CARPETAS (SI NO ESTAN CREADAS) Y SE GUARDARAN LAS FOTOS
                        
                        
$ruta="/var/www/anuncios";                    
                        @
chdir($ruta);
                        
                        
//MIRAMOS SI ESTAN CREADOS LOS DIRECTORIOS Y SINO LOS CREAMOS
                        
                        
if (!is_dir($resultadoseccion))
                        {
                        @
mkdir($resultadoseccion,0700);
                        }
                        
                        
                        if (!
is_dir($resultadocarpeta))
                        {
                        
chdir($resultadoseccion);
                        @
mkdir($resultadocarpeta,0700);
                        }
                        
                        
// ASIGNAMOS UN NOMBRE A LA FOTO QUE CORRESPONDE CON EL ID DEL ARTICULO Y LE AÑADIMOS LA EXTENSION JPG
                       
                       
$fotojpg=$resultado.".jpg";
                       
chmod($resultadocarpeta,0777);        
                       
chdir($resultadocarpeta); 
Pero no los cambia.

Y otra cosa, ¿no es inseguro dar permisos 777? ¿Hay otra forma de hacerlo?
  #2 (permalink)  
Antiguo 28/09/2011, 05:01
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Subir archivos y permisos

Yo también me encuentro con lo mismo, supongo que porque el usuario de php no es owner, no?

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #3 (permalink)  
Antiguo 28/09/2011, 06:03
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 8 meses
Puntos: 89
Respuesta: Subir archivos y permisos

Supongo que será por esto:

Cuando safe mode está habilitado, PHP verifica si los archivos o directorios en los que se va a operar tienen el mismo UID (propietario) que el del script que está siendo ejecutado. Además, no se pueden establecer los bits SUID, SGID y sticky.
  #4 (permalink)  
Antiguo 30/09/2011, 04:40
 
Fecha de Ingreso: mayo-2010
Mensajes: 128
Antigüedad: 14 años
Puntos: 13
Respuesta: Subir archivos y permisos

Entonces que habría que hacer? Dar permisos 777 al crear el directorio?
En tiendo que desactivar el safe mode no debe ser muy seguro:
http://www.wikilearning.com/tutorial...etodo_i/4347-1
  #5 (permalink)  
Antiguo 30/09/2011, 05:48
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Subir archivos y permisos

Yo trabajo con safe_mode off en local y hace lo mismo... es decir.. por eso no creo que sea..
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #6 (permalink)  
Antiguo 30/09/2011, 10:24
 
Fecha de Ingreso: mayo-2010
Mensajes: 128
Antigüedad: 14 años
Puntos: 13
Respuesta: Subir archivos y permisos

Pues no se, yo en local no tenía probelmas. Pero ahora no sube archivos ni poniendo mkdir ($carpeta, 0777).

Solo funciona si creo la carpeta desde la shell del linux y le doy permisos 777. Desde php no hay manera, ¿alguna idea?
  #7 (permalink)  
Antiguo 30/09/2011, 11:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 128
Antigüedad: 14 años
Puntos: 13
Respuesta: Subir archivos y permisos

Por si sirve los logs de error me muestran los siguiente:

PHP Warning: mkdir(): Permission denied in /var/www/anuncios/funciones/funciones.php on line 105

Que es justo la linea del mkdir. Vamos, que no me deja crear carpetas.
  #8 (permalink)  
Antiguo 05/10/2011, 04:37
Avatar de cubemedia  
Fecha de Ingreso: octubre-2008
Mensajes: 15
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Subir archivos y permisos

Dar permiso total (777) es llamar al peligro. al igual que correr apache con un usuario que tenga aceso y permisos administrativos en el sistema.

Lo ideal es configurar apache con mod_suphp. En modo sup., los procesos ejecutados por las aplicaciones Web, lo son bajo el usuario de la cuenta.
  #9 (permalink)  
Antiguo 05/10/2011, 05:12
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Subir archivos y permisos

puede que sea un tema de chown mas que de chmod
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #10 (permalink)  
Antiguo 05/10/2011, 10:06
 
Fecha de Ingreso: mayo-2010
Mensajes: 128
Antigüedad: 14 años
Puntos: 13
Respuesta: Subir archivos y permisos

Era una tonteria, el problema es que la carpeta /var/www/anuncios la cree como root y además no tenía los permisos adecuados. Le he tenido que dar permisos de escritura y lectura al usuario www-data (que es el que usa apache). Luego el resto de carpetas ya se crean sin problema. Y sin necesidad de dar permisos 777, con 755 vale.
Eso si, es saffe_mode lo tengo en off. De todas formas he leido que para php 5.3 está obsoleto.

Etiquetas: permisos, usuarios
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 16:02.