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)
| | | |-+  Problema al generar Código php para subir archivos a mi FTP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al generar Código php para subir archivos a mi FTP  (Leído 4,594 veces)
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Problema al generar Código php para subir archivos a mi FTP
« en: 23 Septiembre 2012, 19:00 pm »

Muy buenas a todos.

Estoy haciendo una mejora en mi web, donde los visitantes pueden subir archivos adjuntos, tal como imagenes, texto, videos, etc....

Puesto que estoy empezando en esto del php he creado dos códigos muy simples que iré mejorando poco a poco el problema es que el "upload.php" se ve perfectamente desde la web de prueba, pero ala hora de enviar el archivo, y se direcciona a SubirF.php (La página se queda en blanco) y no me confirma si se ha podido o no enviar el archivo, otro problema es que en el FTP no sale ningun archivo, ya no se si es debido a que no se ha enviado o a que tengo que crear alguna carpeta aparte.

Os adjunto los dos códigos por si vieran algún fallo pudieran guiarme.


CÓDIGO UPLOAD.PHP

Citar
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Prueba Subir Archivo a FTP</title>
</head>
<form method="post" action="subirF.php" enctype="multipart/form-data">
<input name = "archivo" type ="file" />
<br />
<input type = "submit" value="Enviar archivo" />
</form>
<body>
</body>
</html>

CÓDIGO SUBIRF.PHP

Citar
<?php

$nombre_archivo = $_FILES['archivo'] ['name'];
$tipo_archivo = $FILES['archivo'] ['type'];
$tamano_archivo = $_FILES['archivo'] ['size'];
$temp_archivo = $_FILES['archivo'] ['tmp_name'];

if ( strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg") && $tamano_archivo < 1000000 )
move_uploaded_file($temp_archivo), "../Descargas/".$nombre_archivo) )
{
echo "Archivo Subido Correctamente";
}
else (echo "Error al Subir Archivo";}
}
else
echo"Tu archivo no cumple con las restricciones";

?>

Un saludo y gracias

Espero que a cualquier interesado pueda servirle de ayuda también

Atentamente
WH


En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Problema al generar Código php para subir archivos a mi FTP
« Respuesta #1 en: 23 Septiembre 2012, 19:09 pm »

Lo primero que te diría es que filtraras los ficheros y utilizaras la librería GB, así te evitas que inyecten código en las imágenes.

Respecto al problema supongo que sera por filtrar las extensiones, mejor utiliza strrchr.
Salu2


En línea

WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Re: Problema al generar Código php para subir archivos a mi FTP
« Respuesta #2 en: 23 Septiembre 2012, 20:23 pm »

Muy buenas WarGhost antes de nada gracias por tu respuesta.
Referente alo de filtrar los ficheros es una gran idea.
Pero ando muy muy pero que muy recien empezado en esto de php. Siempre he trabajado en html (Pero ya sabeis lo limitado que es comparado con el .php)

Mi idea final, seria añadirle las siguientes mejoras, pero soy consciente de que tengo que hacerlo poco a poco.

* Registro de usuario y login (Con un listado de sus ficheros subidos)
* Filtrar y analizar los ficheros
* Crear una url de cada fichero subido para poder compartirlo
* y algunas mejoras más

Pero el primer paso seria solucionar los dos temas que respectan.

¿Como podria filtrar los ficheros y utilizar la libreria GB para evitar que me inyecten el código?
Lo de filtrar las extensiones es mejor quitarlo asi no me limitare a estas extensiones solo, ¿para utilizar strrchr que tendria que sustituirlo por strposm o tendria que dictarle otra función?

Disculpen mi ignorancia.

Un saludo
WH
En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Re: Problema al generar Código php para subir archivos a mi FTP
« Respuesta #3 en: 24 Septiembre 2012, 15:48 pm »

He estado probando a resolverlo por mi cuenta, pero ahora estoy aún mas perdido.

Alguien podria orientarme?? Se lo agradeceria enormemente.

Un saludo.

PD: Una vez tenga resuelto todas las dudas, pues ya he empezado a hacer las primeras pruebas con el tema de registro de usuarios y reconomiento del mismo. Haré un pequeño manual paso a paso y explicado de la manera mas sencilla de entender para todo aquel que le pudiera servir de ayuda.

Un saludo a todos
Atentamente
WiseHidden
En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: Problema al generar Código php para subir archivos a mi FTP
« Respuesta #4 en: 24 Septiembre 2012, 22:22 pm »

Estas seguro que es la carpeta correcta? move_uploaded_file() no creara la carpeta en caso de que no exista.
Verifica tambien post_max_size en php.ini.

Sobre la seguridad... utilizando la libreria GD, crea una nueva imagen, si esta no puede ser creada quiere decir que no era una imagen gif, jpeg, png, etc. valida.

Código
  1. $nuevaImg = @imagecreatefromjpeg($_FILES['file']['tmp_name']);
  2. if (!$nuevaImg) {
  3.    //La imagen no pudo ser creada por lo tanto
  4.    //no es una imagen jpeg valida
  5. }else{
  6.    // Destruimos la imagen creada, ya no es necesaria
  7.    imagedestroy($nuevaImg);
  8.    //Procedemos a subir el archivo....
  9. }
  10.  

En línea

WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Re: Problema al generar Código php para subir archivos a mi FTP
« Respuesta #5 en: 24 Septiembre 2012, 22:39 pm »

Muy buenas EFEX.

Citar
Estas seguro que es la carpeta correcta? move_uploaded_file() no creara la carpeta en caso de que no exista.

Pues la verdad no he creado ninguna carpeta lo único que subí al ftp fueron los dos .php (upload.php y subirF.php)

Quizás ahi resida el problema, es lo primero que probaré.

Citar
Verifica tambien post_max_size en php.ini.

Aquí me he perdido :( ¿Como lo verifico?

Citar
Sobre la seguridad... utilizando la libreria GD, crea una nueva imagen, si esta no puede ser creada quiere decir que no era una imagen gif, jpeg, png, etc. valida.

Código

$nuevaImg = @imagecreatefromjpeg($_FILES['file']['tmp_name']);
if (!$nuevaImg) {
    //La imagen no pudo ser creada por lo tanto
    //no es una imagen jpeg valida
}else{
    // Destruimos la imagen creada, ya no es necesaria
    imagedestroy($nuevaImg);
    //Procedemos a subir el archivo....
}
 

Insertaré el código asi quedaría correcto o donde lo incrustaria?:

Citar
<?php

$nombre_archivo = $_FILES['archivo'] ['name'];
$tipo_archivo = $FILES['archivo'] ['type'];
$tamano_archivo = $_FILES['archivo'] ['size'];
$temp_archivo = $_FILES['archivo'] ['tmp_name'];

if ( strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg") && $tamano_archivo < 1000000 )
move_uploaded_file($temp_archivo), "../Descargas/".$nombre_archivo) )
$nuevaImg = @imagecreatefromjpeg($_FILES['file']['tmp_name']);
if (!$nuevaImg) {
    //La imagen no pudo ser creada por lo tanto
    //no es una imagen jpeg valida
}else{
    // Destruimos la imagen creada, ya no es necesaria
    imagedestroy($nuevaImg);
    //Procedemos a subir el archivo...
{
echo "Archivo Subido Correctamente";
}
else (echo "Error al Subir Archivo";}
}
else
echo"Tu archivo no cumple con las restricciones";

?>
?>

Es un mundo nuevo y grande ala vez que interesante esto del .php pero veo que aún no he hecho mas que intentar gatear, me está gustando mucho este lenguaje, tiene tanto potencial.

Mil gracias por toda vuestra orientación, no se que hariamos la gente que quiere aprender sin este increible foro que tanto me ha enseñado.

Un gran saludo a todos camaradas.

WiseHidden. :)
« Última modificación: 24 Septiembre 2012, 22:43 pm por WiseHidden » En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda para subir archivos
Sugerencias y dudas sobre el Foro
tazmania75 3 2,899 Último mensaje 18 Junio 2007, 02:27 am
por ...NexuS...
Codigo para subir swf
PHP
CAR3S? 2 3,381 Último mensaje 10 Febrero 2011, 21:20 pm
por CAR3S?
modificar codigo para subir archivos con ftp
Scripting
binario010101 0 1,921 Último mensaje 17 Noviembre 2013, 02:25 am
por binario010101
correcion de codigo para subir archivos via ftp
Scripting
binario010101 0 1,603 Último mensaje 20 Abril 2014, 04:06 am
por binario010101
[Aporte] Código para generar tableros validos de sudoku
Scripting
engel lex 2 6,794 Último mensaje 8 Abril 2019, 02:39 am
por **Aincrad**
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines