Foros del Web » Programando para Internet » PHP »

Subir fotos con seguridad a servidor

Estas en el tema de Subir fotos con seguridad a servidor en el foro de PHP en Foros del Web. Hola. No estaba seguro dónde poner este tema porque aunque mi web está hecha en php es algo muy general. Quiero permitir a los usuarios ...
  #1 (permalink)  
Antiguo 10/12/2012, 04:05
 
Fecha de Ingreso: mayo-2010
Mensajes: 60
Antigüedad: 13 años, 10 meses
Puntos: 1
Subir fotos con seguridad a servidor

Hola.
No estaba seguro dónde poner este tema porque aunque mi web está hecha en php es algo muy general.

Quiero permitir a los usuarios que suban fotos al servidor, son fotos asociadas a su código de usuario y quiero que sean privadas pero que puedan usarlas con su URL.

Había pensado poner como nombre del fichero algo tipo id_usuario + token aleatorio con md5.

De esta forma cuando un usuario vea que su foto tiene la url por ejemplo http://www.nombredominio/fotos/id_us...4.....asdf.jpg será muy difícil que acierte a una foto existente probando nombres aleatorios en ese directorio.

¿Es así como se suele hacer?

¿es posible que un hacker pueda acceder al directorio www.nombredominio/fotos y ver los nombres de las fotos?


Saludos!
Oscar.
  #2 (permalink)  
Antiguo 10/12/2012, 08:16
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Subir fotos con seguridad a servidor

Cita:
¿es posible que un hacker pueda acceder al directorio www.nombredominio/fotos y ver los nombres de las fotos?
Si, claro que si puede acceder a ver tus fotos y no importa si te tomas la molestia de ponerles nombres aleatorios, un usuario podria ver facilmente los nombres. Ni siquiera es necesario que sea un hacker, cualquier usuario lo podria hacer solo colocando la url.

Para evitar eso es bueno tener una protección de acceso a carpetas con apache.

http://www.maestrosdelweb.com/editorial/directapache/

Igual como sugerencia podrias tener una carpeta de fotos y dentro de esa carpeta de fotos tener carpetas individuales para cada usuario.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 10/12/2012 a las 08:21
  #3 (permalink)  
Antiguo 10/12/2012, 08:32
 
Fecha de Ingreso: mayo-2010
Mensajes: 60
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Subir fotos con seguridad a servidor

Cita:
Iniciado por cuasatar Ver Mensaje
Si, claro que si puede acceder a ver tus fotos y no importa si te tomas la molestia de ponerles nombres aleatorios, un usuario podria ver facilmente los nombres. Ni siquiera es necesario que sea un hacker, cualquier usuario lo podria hacer solo colocando la url.

Para evitar eso es bueno tener una protección de acceso a carpetas con apache.

http://www.maestrosdelweb.com/editorial/directapache/

Igual como sugerencia podrias tener una carpeta de fotos y dentro de esa carpeta de fotos tener carpetas individuales para cada usuario.
Ei muchas gracias cuasatar.

Decia eso de si un "hacker" podría acceder a un directorio y ver los ficheros existentes porque había probado en mi web a poner un directorio cualquiera y daba error de protección por lo que pensaba que sería algo no trivial.

Pero resulta que al leer el link que me has puesto he descubierto que ya tengo esa protección habilitada en mi htaccess. (extraido de boilerplate creo)

Estoy muy verde en estos temas como se ve, me ha ido muy bien el artículo, gracias.

Saludos.
  #4 (permalink)  
Antiguo 10/12/2012, 08:46
Avatar de fishdesign  
Fecha de Ingreso: abril-2011
Ubicación: Málaga
Mensajes: 389
Antigüedad: 13 años
Puntos: 95
Respuesta: Subir fotos con seguridad a servidor

Para no dar rutas directas de las imágenes, puedes pasarlas con PHP cambiando el content type.
De esta manera, puedes hacer antes la comprobación de si el usuario tiene privilegios sobre la imagen que quiere ver y de ser así, la muestras.

Sería algo así:

Código PHP:
Ver original
  1. <?php
  2. header('Content-Type: image/png');
  3.  
  4. $privilegios = true;
  5.  
  6. if ($privilegios) {
  7.     readfile('image.png');
  8. }
  9.  
  10. ?>
__________________
Web Designer.
Themes-Up!, próximamente
  #5 (permalink)  
Antiguo 10/12/2012, 09:22
 
Fecha de Ingreso: mayo-2010
Mensajes: 60
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Subir fotos con seguridad a servidor

Cita:
Iniciado por fishdesign Ver Mensaje
Para no dar rutas directas de las imágenes, puedes pasarlas con PHP cambiando el content type.
De esta manera, puedes hacer antes la comprobación de si el usuario tiene privilegios sobre la imagen que quiere ver y de ser así, la muestras.

Sería algo así:

Código PHP:
Ver original
  1. <?php
  2. header('Content-Type: image/png');
  3.  
  4. $privilegios = true;
  5.  
  6. if ($privilegios) {
  7.     readfile('image.png');
  8. }
  9.  
  10. ?>
Gracias pero para mi caso concreto sí que me interesa dar la ruta directa.

Creo que con la protección del directorio con htaccess y la foto con nombre aleatorio ya tendré seguridad suficiente. Bueno nunca se tiene seguridad suficiente pero creo que ya me llegará

Etiquetas: fotos, seguridad, servidor, 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 08:30.