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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Como hacer para que los usuarios puedan subir a mi web
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como hacer para que los usuarios puedan subir a mi web  (Leído 4,169 veces)
Naimaderis

Desconectado Desconectado

Mensajes: 74



Ver Perfil
Como hacer para que los usuarios puedan subir a mi web
« en: 5 Marzo 2014, 04:25 am »

Hola , soy relativamente nuevo en la creacion web , y lo que quiero hacer es que los usuarios puedan subir textos a mi pagina , osea como este tema que estoy creando ahora , pero que aparezca en mi web , nose si me explico bien


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Como hacer para que los usuarios puedan subir a mi web
« Respuesta #1 en: 5 Marzo 2014, 04:40 am »

Upload1.html:
Código
  1. <form method="post" action="imagenes/upload.php" enctype="multipart/form-data"><!-- Pasar el archivo por method POST -->
  2. <input type="file" size="75" name="file" id="file">
  3. <input type="submit" value="Subir">
  4. </form>

Upload.php:
Código
  1. <?php
  2. header("Content-Type: text/html;charset=utf-8");
  3. $allowedExts = array("gif", "jpeg", "jpg", "png", "txt");
  4. $temp = explode(".", $_FILES["file"]["name"]);
  5. $extension = end($temp);
  6. if ((($_FILES["file"]["type"] == "image/gif")
  7. || ($_FILES["file"]["type"] == "image/jpeg")
  8. || ($_FILES["file"]["type"] == "image/jpg")
  9. || ($_FILES["file"]["type"] == "image/pjpeg")
  10. || ($_FILES["file"]["type"] == "text/plain")
  11. || ($_FILES["file"]["type"] == "image/x-png")
  12. || ($_FILES["file"]["type"] == "image/png"))
  13. && in_array($extension, $allowedExts))/** Con esto compruebas si el tipo de archivo está permitido, y si la extensión está permitida **/
  14.   {
  15.   if ($_FILES["file"]["error"] > 0)
  16.     {
  17.     echo "Código de error: " . $_FILES["file"]["error"] . "<br>";
  18.     }
  19.   else
  20.     {
  21.     if (file_exists("/" . $_FILES["file"]["name"]))
  22.       {
  23.       echo $_FILES["file"]["name"] . " ya existe. ";
  24.       }
  25.     else
  26.       {
  27.       move_uploaded_file($_FILES["file"]["tmp_name"], "" . $_FILES["file"]["name"]);/** Guardar el archivo **/
  28.       }
  29.     }
  30.   }
  31. else
  32.   {
  33.   echo "Archivo inválido.";
  34.   }
  35. ?>
  36. </body>


Te lo comenté un poco. Ese es el código que tengo yo en mi web. Lo reduje lo máximo posible xD

Si tienes alguna otra duda, pregunta :p


En línea

Maurice_Lupin


Desconectado Desconectado

Mensajes: 356

GPS


Ver Perfil WWW
Re: Como hacer para que los usuarios puedan subir a mi web
« Respuesta #2 en: 19 Marzo 2014, 16:08 pm »

Una consulta ivancea96, también implementaste seguridad pues según leo te pueden subir un  PHP Shells. Si la tienes, puedes comentarnos?.

Saludos.
En línea

Un error se comete al equivocarse.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Como hacer para que los usuarios puedan subir a mi web
« Respuesta #3 en: 19 Marzo 2014, 16:16 pm »

Bueno. Haí hay un if:

Código
  1. if ((($_FILES["file"]["type"] == "image/gif")
  2.  
  3. || ($_FILES["file"]["type"] == "image/jpeg")
  4.  
  5. || ($_FILES["file"]["type"] == "image/jpg")
  6.  
  7. || ($_FILES["file"]["type"] == "image/pjpeg")
  8.  
  9. || ($_FILES["file"]["type"] == "text/plain")
  10.  
  11. || ($_FILES["file"]["type"] == "image/x-png")
  12.  
  13. || ($_FILES["file"]["type"] == "image/png"))
  14.  
  15. && in_array($extension, $allowedExts))

Los "$_FILES["file"]["type"]" coprueban que tipo de archivo me están subiendo.
La segunda parte, "in_array" comprueba si la extensión del archivo está entre las permitidas.
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Como hacer para que los usuarios puedan subir a mi web
« Respuesta #4 en: 19 Marzo 2014, 23:42 pm »

Como nota sobre todo esto, recordar que a veces, por muy "seguro" que tengas el script de subida, te pueden meter una shell y que no te enteres.

Como referencia a lo que hablo dejo este link:

Tema: shell archivo.php.jpg se ejecuta sin problema
http://foro.elhacker.net/nivel_web/shell_archivophpjpg_se_ejecuta_sin_problemas-t410407.0.html

Saludos
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re:
« Respuesta #5 en: 20 Marzo 2014, 08:17 am »

Siempre puedes analizar el nombre del archivo. O el contenido incluso.

Enviado desde mi ST21i mediante Tapatalk
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Como hacer para que los usuarios puedan subir a mi web
« Respuesta #6 en: 26 Marzo 2014, 13:27 pm »

#!drvy por otro lado al subirse el archivo puedes revisar los bytes iniciales y finales para asegurarte que sea un formato valido, y renombrarlo con la extensión que deba tener... incluso puedes analizarlo un poco más (por lo menos las imágenes) y pasarlas por GD y cosas así... dudo que con estas medidas pase una shell y siga siendo ejecutable
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Como hacer para que los usuarios puedan subir a mi web
« Respuesta #7 en: 26 Marzo 2014, 22:06 pm »

Como te comentan, ten cuidado con los archivos que te suben.

¿Por qué no te creas un foro? ¿POr qué no creas, si no, un blog y dejas los comentarios abiertos? o usas un CMS.

No permitas subir archivos y menos a cualquiera.
En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: Como hacer para que los usuarios puedan subir a mi web
« Respuesta #8 en: 27 Marzo 2014, 10:10 am »

Tambien podrias utilizar una api de terceros.

Subir archivos con dropbox y para imagenes imgur es bastante descente(siempre que el contenido que suban los ususarios no viole los terminos y servicio de la api).
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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