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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  ¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: ¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?  (Leído 10,825 veces)
TheEGG 89

Desconectado Desconectado

Mensajes: 140



Ver Perfil
¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?
« en: 20 Agosto 2012, 10:10 am »

Amigos, tengo como proyecto en mente un Hosting de Imágenes.
Me gustaría saber recomendaciones con respecto al lenguaje a utilziar, ¿cual me recomiendan?. Lo que mas despierta mi curiosidad es saber cual me conviene mas a la hora de "generar" los links correspondientes a la imágen que suba el usuario.

Agradezco su tiempo!


En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: ¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?
« Respuesta #1 en: 21 Agosto 2012, 00:55 am »

Si lo haces en serio es un proyecto bastante grande, al cual tienes que dedicar mucho tiempo en pensar como sería el funcionamiento.

Me voy a ahorrar darte consejos sobre las políticas de usuarios/subida de imágenes, y te digo cosas mas técnicas.

Una cosa importante (Que hacía megaupload) para no repetir archivos, es comprobar la suma (Prueba MD5 o SHA) y si el archivo ya existe, no hace falta subirlo.

Esto tiene doble utilidad, con la suma del archivo, puedes hacer tu otra suma para generar un link único a ese archivo. Así los links no se repiten.

Lenguajes, está claro. PHP + SQL (MySQL, PostgreSQL, sqlite,. etc etc) y HTML+CSS+Js. Vamos, como casi todo.


En línea

Luna71c0


Desconectado Desconectado

Mensajes: 541


El lado oscuro de la luna...


Ver Perfil
Re: ¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?
« Respuesta #2 en: 21 Agosto 2012, 04:47 am »

¿Que lenguaje? y en su momento pude haber dicho el que te quede mas comodo :P pero bueno creo que Daemon Freedom lo dijo bastante bien :P
Por cierto, un consejo, si es un proyecto grande y NECESITA TIEMPO, no lo abandones, dia a dia trabaja con eso
En línea


Citar
Un pequeño paso para el programador....
Un gran paso para el hacker...

...]LunaHAck[...


i'm the "Luna71c0"
Kase


Desconectado Desconectado

Mensajes: 1.288


programa bonito ¬¬


Ver Perfil WWW
Re: ¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?
« Respuesta #3 en: 22 Agosto 2012, 07:47 am »

tiempo, grande?   no, y no..  si lo sabes hacer en cuestion de horas lo tienes listo.. y asta aceptando subidas de imagen de distintas formas como directo de una url...


el verdadero problema es el dinero... dinero, dinero y mas dinero....  las imagenes consumen mucho trafico y espacio, ningun proveedor "shared" te permitiria subir una web de imagenes a sus servidores...

necesitarias forzosamente contratar maquinas virtuales, o servidores enteros.. echale quisas unos 15 euros por mes para que te des una idea...

y debes estar preparado para escabilizar el proyecto.. si pega, en cualquier momento deberas conciderar un cluster de computadoras, y un sistema de cache...

si lo vaz a hacer con php considera hiphop  para convertir tu php a C

auke quien me conosca sabe que lo aria directamente con python y de servidor de aplicacion tornado, y de servidor de imagenes apache...
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.606


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: ¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?
« Respuesta #4 en: 22 Agosto 2012, 15:38 pm »

Mira, yo hize un uploader de imagenes en php sin utilizar mysql y sin problemas de seguridad, lo hize en 30 minutos:

Index.php:
Código
  1. <?php
  2. /* Default config */
  3. $sys = array(
  4. 'db' => '.ht_dbimages', /* Database */
  5. 'self_script' => (isset($_SERVER['HTTPS']) == true ? 'https' : 'http' . '://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']),
  6. 'start' => 0, /* Bite start */
  7. 'length' => 0, /* Bites length */
  8. 'extension' => '.dat', /* File extension */
  9. 'max_length' => 2000000, /* Max upload/download file (2MB) */
  10. 'finish_poiner' => 0,
  11. 'finish_length' => 0,
  12. 'finish_extension' => 'jpg',
  13. 'totalsizedb' => 0,
  14. 'err' => false,
  15. 'headerdb' => "DBIMG\x00\x01"
  16. );
  17. /* Re-config... */
  18. if(!file_exists($sys['db']))
  19. file_put_contents($sys['db'], $sys['headerdb']);
  20. $sys['totalsizedb'] = filesize($sys['db']);
  21.  
  22. if($_FILES){
  23. /* Manage errors */
  24. if((int)$_FILES['img']['size'] > (int)$sys['max_length'])
  25. $sys['err'] = 'El archivo es demasiado grande.';
  26. if(!exif_imagetype($_FILES['img']['tmp_name']))
  27. $sys['err'] = 'El archivo no es una imágen.';
  28. /* Save file */
  29. if(!$sys['err']){
  30. $sys['finish_pointer'] = (int)$sys['totalsizedb'];
  31. $sys['finish_length'] = filesize($_FILES['img']['tmp_name']);
  32. $sys['finish_extension'] = explode('.', $_FILES['img']['name']);
  33. $sys['finish_extension'] = substr($sys['finish_extension'][count($sys['finish_extension']) - 1], 0, 5);
  34. file_put_contents($sys['db'], file_get_contents($_FILES['img']['tmp_name']), FILE_APPEND | LOCK_EX);
  35. }
  36.  
  37. }elseif(isset($_GET['data']) and (strlen($_GET['data']) > 0)){
  38. /* Split data */
  39. $data = $_GET['data'];
  40. if(str_replace('/', '', $data) != $data){
  41. $data = explode('/', $data);
  42. $data = $data[count($data) - 1];
  43. }
  44. $data = explode('_', $data);
  45. $sys['start'] = (int)$data[0];
  46. $data = explode('.', $data[1]);
  47. $sys['length'] = (int)$data[0];
  48. $sys['extension'] = $data[count($data) - 1];
  49. /* Manage errors */
  50. if($sys['length'] > $sys['max_length'])
  51. $sys['err'] = 'El archivo es demasiado grande.';
  52. if($sys['start'] < 1)
  53. $sys['err'] = 'El archivo no existe.';
  54. if(($sys['start'] + $sys['length']) > $sys['totalsizedb'])
  55. $sys['err'] = 'El archivo no existe.';
  56. $tmpf = tempnam(0, '');
  57. file_put_contents($tmpf, file_get_contents($sys['db'], NULL, NULL, $sys['start'], $sys['length']));
  58. if(!exif_imagetype($tmpf))
  59. $sys['err'] = 'El archivo no es una imágen.';
  60. /* Get file */
  61. if(!$sys['err']){
  62. header('Content-Type: image/'.substr($sys['extension'], 0, 5));
  63. header('Content-Length: '.(int)$sys['length']);
  64. /* MAX Cache */
  65. header('Last-Modified: Tue, 03 Jul 2001 06:00:00 GMT');
  66. header('Expires: Tue, 03 Jul 2500 06:00:00 GMT');
  67. echo file_get_contents($tmpf);
  68. }
  69.  
  70. }
  71. ?>
  72.  
  73. <?php if($sys['err']){ ?>
  74. Error: <?php echo $sys['err']; ?><hr />
  75. <?php }elseif((int)$sys['finish_pointer'] > 0){ ?>
  76. File saved:
  77. <a target="_blank" href="<?php echo ($outfile = dirname($sys['self_script']).'/'.(int)$sys['finish_pointer'].'_'.(int)$sys['finish_length'].'.'.$sys['finish_extension']); ?>">
  78. <?php echo $outfile; ?>
  79. </a><hr />
  80. <?php } ?>
  81. <form action="<?php echo $sys['self_script']; ?>" method="post" enctype="multipart/form-data">
  82. Image: <input type="file" name="img" /> <input type="submit" value="Upload" />
  83. </form>

.htaccess:
Código:
# MiniHostingIMG V1.0 by WHK - DrawCoders 
Options -Indexes
ErrorDocument 404 "El archivo no existe <a href='javascript:history.go(-1);'>Volver</a>"
RewriteEngine on
RewriteCond %{REQUEST_URI} !(.*)index.php$
RewriteRule ^(.*)$ index.php?data=$1

Pones esos dos archivos juntos y listo!, utiliza un solo archivo como base de datos binario, aunque pese 50gb no tarda mas de 0.001 segundos en obtener los archivos ya que el puntero de php se posiciona justo sobre el byte adecuado, no necesita cargar el archivo completo, además es super util en hostings que te restringen el numero de archivos guardados como hostgator.

El archivo que el sistema creará para la base de datos se llama .ht_dbimages, hay que darle permisos de sobreescritura, por defecto los servidores apache deniegan el acceso directo gracias a la directiva por defecto de denegación de acceso a <.ht*>.
En línea

Kase


Desconectado Desconectado

Mensajes: 1.288


programa bonito ¬¬


Ver Perfil WWW
Re: ¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?
« Respuesta #5 en: 22 Agosto 2012, 17:54 pm »

un solo archivo?! esa idea es genial... si empiezas a guardar todas las fotos en un directorio unico vas a reventar el sistema de directorios...

yo los guardaria por carpetas con año dentro carpeta mes, y dentro dia, y dentro fotos.. y eso lo serviria con apache puro.
En línea

Luna71c0


Desconectado Desconectado

Mensajes: 541


El lado oscuro de la luna...


Ver Perfil
Re: ¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?
« Respuesta #6 en: 22 Agosto 2012, 23:27 pm »

tiempo, grande?   no, y no..  si lo sabes hacer en cuestion de horas lo tienes listo.. y asta aceptando subidas de imagen de distintas formas como directo de una url...


el verdadero problema es el dinero... dinero, dinero y mas dinero....  las imagenes consumen mucho trafico y espacio, ningun proveedor "shared" te permitiria subir una web de imagenes a sus servidores...

necesitarias forzosamente contratar maquinas virtuales, o servidores enteros.. echale quisas unos 15 euros por mes para que te des una idea...

y debes estar preparado para escabilizar el proyecto.. si pega, en cualquier momento deberas conciderar un cluster de computadoras, y un sistema de cache...

si lo vaz a hacer con php considera hiphop  para convertir tu php a C

auke quien me conosca sabe que lo aria directamente con python y de servidor de aplicacion tornado, y de servidor de imagenes apache...
Me referia al tiempo de popularización y al alcance :D
En línea


Citar
Un pequeño paso para el programador....
Un gran paso para el hacker...

...]LunaHAck[...


i'm the "Luna71c0"
TheEGG 89

Desconectado Desconectado

Mensajes: 140



Ver Perfil
Re: ¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?
« Respuesta #7 en: 28 Agosto 2012, 08:40 am »

Gracias por responder!!
ya tengo a un especialista en Marketing par alo que va a ser difusión, disponemos de hasta 50 dólares al mes para Hosting, no es mucho.. pero para un comienzo va a estar bien, ya que lo vamos a utilizar un selecto grupo de usuarios (para probar su correcto funcionamiento antes de lanzarlo)

Y la idea es que a cada usuario (cuenta registrada) le corresponda una carpeta dentro del Hosting.

:-D
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.606


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: ¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?
« Respuesta #8 en: 28 Agosto 2012, 15:26 pm »

Si vas a guardar cada archivo en carpetas te va a salir muy costoso.
En línea

WIитX


Desconectado Desconectado

Mensajes: 1.026


WINTX


Ver Perfil WWW
Re: ¿Que debo tener en cuenta antes de realizar un Hosting de Imágenes?
« Respuesta #9 en: 28 Agosto 2012, 15:32 pm »

a parte de todo eso... céntrate en un buen diseño, eso llama a mucha gente por hay muchos honstings de imágenes y que sea rápido en subir...

Podrías ponerle subida múltiple de imágenes por muchas veces es muy costoso subir imagen a imagen.

PD: ¿Sabes ya como se llamara?
En línea

"Es más divertido hacerse pirata que unirse a la marina." (Steve Jobs)
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines