Foros del Web » Programando para Internet » PHP »

Permitir sola subida de archivos .zip y rar.

Estas en el tema de Permitir sola subida de archivos .zip y rar. en el foro de PHP en Foros del Web. Hola que tal, hice un mini upload para subir archivos pequeños en .rar y en .zip, el problema que se puede subir cualquier extensión. Mi ...
  #1 (permalink)  
Antiguo 25/04/2015, 00:50
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 12 años, 7 meses
Puntos: 0
Permitir sola subida de archivos .zip y rar.

Hola que tal,
hice un mini upload para subir archivos pequeños en .rar y en .zip, el problema que se puede subir cualquier extensión. Mi pregunta es como podria hacer que solamente se pueda subir .rar y .zip a traves de:

Código:
$tipodemapa = $_FILES['mapa']['type'];

Me pueden dar una mano¿ Gracias
  #2 (permalink)  
Antiguo 25/04/2015, 02:10
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Permitir sola subida de archivos .zip y rar.

Puedes tomar la extensión real del archivo usando las funciones FileInfo, luego, debes de tener un array con las extensiones permitidas y con la función in_array, buscarías en el array de extensiones a la extensión obtenida del archivo.

No te fíes de $_FILES['mapa']['type'] porque puede darse el caso de que el usuario disfrace un archivo con contenido malicioso.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 25/04/2015, 14:12
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Permitir sola subida de archivos .zip y rar.

Cita:
Iniciado por Alexis88 Ver Mensaje
Puedes tomar la extensión real del archivo usando las funciones [URL="http://php.net/manual/es/ref.fileinfo.php"][inline]FileInfo[/inline][/URL], luego, debes de tener un array con las extensiones permitidas y con la función [URL="http://php.net/manual/es/function.in-array.php"][inline]in_array[/inline][/URL], buscarías en el array de extensiones a la extensión obtenida del archivo.

No te fíes de $_FILES['mapa']['type'] porque puede darse el caso de que el usuario [URL="https://www.youtube.com/watch?v=MM7fR7-xjzg"]disfrace[/URL] un archivo con contenido malicioso.

Saludos

Osea que en una array defino las extensiones .rar y .zip que son las que quiero permitir. Y luego compruebo que extension es con file info. Yo creo que puedo utilizar $_FILES['mapa']['type'] por que es entre "amigos" y tiene contraseña para ingresar a esa parte. HAy alguna manera para hacerlo con _fileS
  #4 (permalink)  
Antiguo 25/04/2015, 14:24
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Permitir sola subida de archivos .zip y rar.

Así como te lo he explicado, solo que sin FileInfo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 25/04/2015, 22:20
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Permitir sola subida de archivos .zip y rar.

EDIT: Pongo el script terminado.

Código PHP:
$acomprobando $_FILES["mapa"]["type"];
$permitido = array("application/octet-stream");
if (!(
in_array($acomprobando$permitido))) 
{
echo 
'El archivo es RAR.'
}
else
{
echo 
'El archivo NO es RAR.'

gracias por la ayuda amigo!

Última edición por CeKiT; 25/04/2015 a las 22:43 Razón: Primero puse un script a medio hacer, ahora lo pongo terminado.
  #6 (permalink)  
Antiguo 26/04/2015, 03:46
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 11 años, 3 meses
Puntos: 145
Respuesta: Permitir sola subida de archivos .zip y rar.

Hasta donde se, los .zip tienen como MIME application/zip y se asigna application/octet-stream cuando son archivos "genéricos".

Por favor, que alguien me corrija si estoy equivocado.
__________________
¿Te sirvió la respuesta? Deja un +1

Etiquetas: permitir, subida, zip
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:45.