elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [SOLUCIONADO] Error al subir un archivo !!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO] Error al subir un archivo !!  (Leído 4,955 veces)
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
[SOLUCIONADO] Error al subir un archivo !!
« en: 18 Abril 2008, 16:54 pm »

Hola:

Ya estuve intentando con move_uploades_file() y copy() y me sigue dando error, no logro subir la imagen :S !!!..

Primeramente les adelanto que la configuracion del PHP.INI de mi servidor es: register_globals= Off. Por lo tanto para manejar archivo subidos debo usar la variable reservada: $_FILES["var"]... El code que uso es el siguiente !!

Código:
<?php
function comprobar_extencion_imagen( $extensión )
{
/*
image/jpeg Imagen JPEG, JPG
image/png Imagen PNG
image/gif Imagen GIF
*/

if( !strpos( $extensión, "jpg" ) && !strpos( $extensión, "jpeg" ) && !strpos( $extensión, "png" ) && !strpos( $extensión, "gif" ) )
{
echo "Tipo de extensión/archivo inaceptable.<br>";
return 0;
}
return 1;
}


//... code y mas code..

//si hacemos un 'getcwd()', nos da la siguiente direccion: '/home/miuser/public_html/modulos/'
//y la carpeta de imagenes esta en: '/home/miuser/public_html/imagenes/noticias/'
$path= "../imagenes/noticias/";

if( !comprobar_extencion_imagen( $_FILES["imagen_noticia_01"]["type"] ) || !move_uploaded_file( $_FILES["imagen_noticia_01"]["tmp_name"], $path.$_FILES["imagen_noticia_01"]["name"] ) )
echo "Problema para subir imagenes al servidor.";

Como resultado al intento de subir la imagen dice: "Problema para subir imagenes al servidor."


« Última modificación: 23 Abril 2008, 17:04 pm por Diabliyo » En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: Error al subir un archivo !!
« Respuesta #1 en: 18 Abril 2008, 17:02 pm »

He puesto los permisos a: 777 y he podido subir la imagen...

Código:
shell# chmod -R 0777 imagenes/

Pero como puedo hacerle para no tener a fuerzas el permiso a: 777 y poder subir la imagen ?? y pues a la ves preservar la seguridad por cualquier File Inclusion :D !!

Que puedo hacer ???


En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Error al subir un archivo !!
« Respuesta #2 en: 18 Abril 2008, 19:00 pm »

He puesto los permisos a: 777 y he podido subir la imagen...

Código:
shell# chmod -R 0777 imagenes/

Pero como puedo hacerle para no tener a fuerzas el permiso a: 777 y poder subir la imagen ?? y pues a la ves preservar la seguridad por cualquier File Inclusion :D !!

Que puedo hacer ???

Pues dale un 755 o asegura tus variables para que no te hagan rfi.
En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: Error al subir un archivo !!
« Respuesta #3 en: 18 Abril 2008, 19:49 pm »

Pues dale un 755 o asegura tus variables para que no te hagan rfi.

Sinceramente no creo que se peuda, pero intentare con 755, pero como solucion alterna a no utilizar 777, solo cambie el dueno del usuario por: apache

Código:
shell# chown -R apache imagenes/

Crees que lo realizado sea combeniente para usos futuros de la aplicacion en servidores externos ?? (vaya, otro hosting)... o sera mejor el 755 ??

bye bye
« Última modificación: 18 Abril 2008, 19:59 pm por Diabliyo » En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: Error al subir un archivo !!
« Respuesta #4 en: 18 Abril 2008, 20:05 pm »

Hola:

No, no se puede si se ponen los permisos a 755.

Código:
shell# chmod -R 0755 imagenes/

Creo que es un poco ovio, debido a que 755 indica:

bit r= 4
bit w= 2
bit x= 1

Los permisos 777 se constituyen por este orden de bits:
(owner)rwx = 7
(grupo)rwx = 7
(otros)rwx = 7

Los permisos 755 se constituyen por el orden de bits siguiente:

(owner)rwx = 7
(grupo)r-x = 5
(otros)r-x = 5

De modo que el programa PHP esta funcionando mediante la ejecucion del deamon apache (httpd), por lo tanto el user que realiza la ejecucion, interpretacion, carpetas, movimientos, etc... es el mismo usuario apache. Del mismo modos el susuario apache solo pertenece al grupo apache.

Si analizamos lo que les mencione como conclusion el usuario apache solo pdora realizar modificaciones a archivos siempre y cuando:

1- pertenezca tambien al grupo users
2- existan permisos en el directorio como: 777, 757... vaya, que los permisos para usuarios fuera del grupo del sistema (otros) este levantado el bit de 'w'...

Esa es mi logica, nose que opinen ustedes !!

bye bye
En línea

Libransser


Desconectado Desconectado

Mensajes: 2.213


Arwing de antaño


Ver Perfil WWW
Re: Error al subir un archivo !!
« Respuesta #5 en: 19 Abril 2008, 05:34 am »

Para tu directorio de imágenes necesitarías darle permisos 766 o 666 para que te permita escribir. En un directorio, el permiso para crear archivos en él es el de write.

Arwing
En línea

Libransser


Desconectado Desconectado

Mensajes: 2.213


Arwing de antaño


Ver Perfil WWW
Re: Error al subir un archivo !!
« Respuesta #6 en: 19 Abril 2008, 08:02 am »

Si tienes PHP instalado como módulo de Apache, lo más probable es que tengas que dejarlo como 766, 666, o 777. Si PHP está instalado como CGI con phpSuExec, entonces 755 te habría funcionado, pero por lo que dices no parece ser el caso, así que tendrás que probar con los primeros permisos.

Saludos
Arwing
En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: Error al subir un archivo !!
« Respuesta #7 en: 23 Abril 2008, 00:17 am »

Hola:

La solucion mas viable y segura (segun mi criterio) es solamente cambiar el propietario de la carpeta donde el programa PHP va aescribir datos (chown -R apache carpeta/), ya que si dejamos los permisos en: 766 o cualquiera que deje el bit de escritura activa para OTROS (los ultimos 3 bits), este privilegio se activaria hasta para las personas que visiten el sitio y lleguen a explotar algun BUG, seria desastroso :S !!..

En cambio si se asigna el nombre de propietario de apache, se conservan los privilegios: 755, de modo que nadie puede escribir solo el OWNER y APACHE :D !!

bye bye
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
(SOLUCIONADO) [VBS] [BATCH] ¿Script para subir un archivo a Imageshack?
Scripting
SuperDraco 2 4,664 Último mensaje 11 Junio 2011, 21:11 pm
por SuperDraco
[php] Error al subir archivo
Desarrollo Web
Puntoinfinito 4 2,750 Último mensaje 7 Enero 2013, 15:37 pm
por Puntoinfinito
¿Subir un archivo en dos directorios? (Solucionado)
Desarrollo Web
Clavo Oxidado 1 2,032 Último mensaje 26 Noviembre 2014, 12:01 pm
por Clavo Oxidado
Error al subir archivo ftp con bat
Hacking
ocarro 2 4,540 Último mensaje 20 Marzo 2017, 14:29 pm
por TheIllusionist
Error al subir archivo a FTP. C#
.NET (C#, VB.NET, ASP)
n-utz 0 2,417 Último mensaje 12 Septiembre 2017, 00:38 am
por n-utz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines