Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Puntoinfinito en 20 Marzo 2013, 17:33 pm



Título: No se me suben los archivos
Publicado por: Puntoinfinito en 20 Marzo 2013, 17:33 pm
Hey!!

Tengo un problema... Tengo un sencillo script php:

Código
  1. <?php
  2. $dir= 'files/';
  3. if (isset ($_POST['button']) && is_uploaded_file($_FILES['archivo']['tmp_name'])){
  4. $file= $dir.basename($_FILES['archivo']['name']);
  5. move_uploaded_file($_FILES['archivo']['tmp_name'], $file);
  6. }
  7. ?>

Que permite subir archivos a un determinado directorio, en este caso (files/), el problema esta en que no sube nada... A qué se debe? Debo configurar algo? El .htcacces tal vez?

Saludos!!


Título: Re: No se me suben los archivos
Publicado por: basickdagger en 21 Marzo 2013, 20:58 pm

yo subo imagenes y utilizo este codigo tal ves te pueda servir

Código:
 

$tamano = $_FILES [ 'file' ][ 'size' ];
$tamaño_max="500000";
if( $tamano < $tamaño_max){   
$destino = 'logos' ; 
$sep=explode('image/',$_FILES["file"]["type"]);
$tipo=$sep[1];
if($tipo == "gif" || $tipo == "PNG" || $tipo == "bmp" || $tipo == "jpeg" || $tipo == "jpg" || $tipo == "JPG" || $tipo == "JPEG" || $tipo == "png"){


move_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ], $destino . '/' .$logotipo); 
 





y antes de todo eso con session_start();

espero haberte ayudado, a veces sucede q agregas mal el directorio, no te genera algún mensaje de error?? para saber en donde podrías estar mal


Título: Re: No se me suben los archivos
Publicado por: #!drvy en 22 Marzo 2013, 06:24 am
Deberia funcionar. Asegurate de que cuando declaras el <form> este lleve
Código
  1. enctype="multipart/form-data"

Para poder enviar archivos. Ademas asegurate de que el boton submit (el que envia el formulario) tenga de nombre "button". Te dejo un ejemplo de html que funciona con tu script:

Código
  1. <!doctype html>
  2. <meta charset="utf-8">
  3. <title>Documento</title>
  4. </head>
  5.  
  6. <form action="" method="POST" enctype="multipart/form-data">
  7. <input type="file" name="archivo" />
  8. <input type="submit" name="button" />
  9. </form>
  10. </body>
  11. </html>

Si no funciona con esto, intenta habilitar los errores en el php.ini (display_errors y error_reporting E_ALL) y comprueba que tengas permisos para crear / subir archivos (en caso de estar bajo linux).


@basickdagger, el código que tienes es vulnerable. Estas comprobando el TYPE pero no la extensión del archivo. La cosa es que podría crear un archivo.php y cambiarle de extensión al momento de la subida. El navegador enviara como TYPE una imagen, pero en realidad sera un archivo PHP que se podrá ejecutar en tu servidor.

Saludos


Título: Re: No se me suben los archivos
Publicado por: Puntoinfinito en 22 Marzo 2013, 14:56 pm
@basikdagger, @drvy gracias por responder!! Como dijo drvy el error esta en no añadir eso en el form :P, no lo sabía... Pero ya funciona :D

@basickdagger, el código que tienes es vulnerable. Estas comprobando el TYPE pero no la extensión del archivo. La cosa es que podría crear un archivo.php y cambiarle de extensión al momento de la subida. El navegador enviara como TYPE una imagen, pero en realidad sera un archivo PHP que se podrá ejecutar en tu servidor.

ZAS! jajaja

Salu2 a ambos