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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Subir un fichero y relacionarlo en la base de datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Subir un fichero y relacionarlo en la base de datos  (Leído 2,792 veces)
dimitrix


Desconectado Desconectado

Mensajes: 4.846



Ver Perfil WWW
Subir un fichero y relacionarlo en la base de datos
« en: 16 Mayo 2011, 23:19 pm »

Vamos a ver, quiero subir un ficho y si se llama imagen.gif que se suba como 'rand().imagen.fig

Cogiendo un código ya creado para ahorrar tiempo, tengo:

El formulario aquí:
Código
  1. <form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data" name="form1">
  2.  <p align="center">Archivo
  3.   <input name="archivo" type="file" id="archivo">
  4.  </p>
  5.  <p align="center"><input name="boton" type="submit" id="boton" value="Enviar"></p>
  6. </form>

En cuanto al PHP que lo guarda:

Código
  1. <?
  2. if($boton) {
  3.    if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
  4.      copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);
  5.      $subio = true;
  6.    }
  7.  
  8. if($subio) {
  9.    echo "El archivo subio con exito";
  10. } else {
  11.    echo "El archivo no cumple con las reglas establecidas";
  12. }
  13. die();
  14. }
  15. ?>


El problema es que quiero que se guardar en una carpeta llamada 'img' y que tenga lo del nombre aleatorio, pero no se como hacer eso sin estropearlo.

Thanks.


En línea




RedZer


Desconectado Desconectado

Mensajes: 666



Ver Perfil
Re: Subir un fichero y relacionarlo en la base de datos
« Respuesta #1 en: 16 Mayo 2011, 23:36 pm »

checate
formulario para upload imagen
Código
  1. <form id="signupform" name="formulario" autocomplete="off" action="insertar.php" method="post" enctype="multipart/form-data">
  2. <input type="file" name="file"  class="required"/>
  3. <input type="submit" name="button" id="button" value="Enviar" />
  4. </form>
  5.  
  6.  

pagina que recibe
Código
  1.  
  2. <?php
  3.  
  4.                             $clave=rand(5, 15);
  5.     $destino='img';//nombre de la carpeta
  6.                             $imagen= $_FILES['file']['name'];
  7.                             $tipo_archivo = $_FILES['file']['type'];
  8.                             $tamano_archivo = $_FILES['file']['size'];
  9.                             $nomimag=$clave.'.jpg';
  10.  
  11. if (strpos($tipo_archivo, "jpeg") || strpos($tipo_archivo, "jpg" ))
  12.        {
  13.  
  14.  if (move_uploaded_file($_FILES['file']['tmp_name'],$destino.'/'.$nomimag))
  15.        {  
  16. //aqui instuccion sql
  17.  
  18.                               }
  19.  
  20. }
  21.  
  22. ?>
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  

NOTA:crea una carptea llamda img en done estes guardando tus archivos


« Última modificación: 16 Mayo 2011, 23:54 pm por RedZer » En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
dimitrix


Desconectado Desconectado

Mensajes: 4.846



Ver Perfil WWW
Re: Subir un fichero y relacionarlo en la base de datos
« Respuesta #2 en: 16 Mayo 2011, 23:51 pm »

Gracias RedZer.
En línea




~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Subir un fichero y relacionarlo en la base de datos
« Respuesta #3 en: 16 Mayo 2011, 23:52 pm »

Te recomiendo que crees un buen filtro porque te pueden subir una PHP shell.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
RedZer


Desconectado Desconectado

Mensajes: 666



Ver Perfil
Re: Subir un fichero y relacionarlo en la base de datos
« Respuesta #4 en: 16 Mayo 2011, 23:57 pm »

Te recomiendo que crees un buen filtro porque te pueden subir una PHP shell.
con el code que puse??
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Subir un fichero y relacionarlo en la base de datos
« Respuesta #5 en: 17 Mayo 2011, 00:14 am »

Si compañero, el código es vulnerable.

$_FILES['file']['type'];

Contiene el valor de Contend-Type: y es modificable. Asi que puede ser que estés subiendo un archivo PHP pero le indicas que es un archivo de imagen y lo dejaría subir.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
RedZer


Desconectado Desconectado

Mensajes: 666



Ver Perfil
Re: Subir un fichero y relacionarlo en la base de datos
« Respuesta #6 en: 17 Mayo 2011, 00:18 am »

Si compañero, el código es vulnerable.

$_FILES['file']['type'];

Contiene el valor de Contend-Type: y es modificable. Asi que puede ser que estés subiendo un archivo PHP pero le indicas que es un archivo de imagen y lo dejaría subir.

 :o lo desconocia gracias ~ Yoya ~ tendras un ejemplo a la mano de como seria el filtro ?
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Subir un fichero y relacionarlo en la base de datos
« Respuesta #7 en: 17 Mayo 2011, 00:22 am »

Puedes leer este POST que lo escribo SH4V:

PHP upload security
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
RedZer


Desconectado Desconectado

Mensajes: 666



Ver Perfil
Re: Subir un fichero y relacionarlo en la base de datos
« Respuesta #8 en: 17 Mayo 2011, 00:50 am »

Puedes leer este POST que lo escribo SH4V:

PHP upload security
realmente desconocia esto. gracias por la info ~ Yoya ~
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como subir mi base de datos
PHP
ba-botas 7 4,260 Último mensaje 3 Agosto 2007, 19:03 pm
por programatrix
Subir imagen a base de datos
PHP
layker 2 2,871 Último mensaje 12 Mayo 2008, 06:31 am
por Syphroot
Subir una base de datos MySQL a un servidor
Desarrollo Web
Kefren 2 8,327 Último mensaje 4 Febrero 2011, 16:38 pm
por Kefren
Subir archivo .xls a base de datos!!! « 1 2 »
PHP
01munrra 10 5,125 Último mensaje 21 Enero 2012, 05:29 am
por 01munrra
Subir fichero a mi servidor (eligiendo cual)
Desarrollo Web
dimitrix 7 2,298 Último mensaje 11 Mayo 2012, 21:31 pm
por raul338
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines