Foros del Web » Programando para Internet » PHP »

Seguridad en descarga de archivos

Estas en el tema de Seguridad en descarga de archivos en el foro de PHP en Foros del Web. Hola amigos del foro, encontré un script que permite ocultar la carpeta de los archivos que se descargan, pero hay un problema de seguridad que ...
  #1 (permalink)  
Antiguo 11/05/2008, 00:05
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
Exclamación Seguridad en descarga de archivos

Hola amigos del foro, encontré un script que permite ocultar la carpeta de los archivos que se descargan, pero hay un problema de seguridad que con un poco de curiosidad se puede bajar todos los archivo del servidor: ?doc=../../index.php

Código PHP:
<?php
// Indicamos el nombre del directório                            
define('dir','Carpeta_archivos');                                  
// Comprobamos que exista la cookie                              
if($_COOKIE['descarga'] == '1'){                                 
 
// Si existe la cookie intentamos                               
 // leer el archivo                                              
 
$doc $_GET['doc'];                                    
 if(
file_exists(dir.'/'.$doc)){                              
 
// Si existe el archivo lo enviamos                             
 
header('Content-Type: application/octet-stream');               
 
header('Content-Disposition: attachment; filename='.$doc);  
 echo 
file_get_contents(dir.'/'.$doc);                       
 } else {                                                        
 
// Sino existe el archivo enviamos                              
 // un error 404                                                 
 
header('HTTP/1.0 404 Not Found');                               
 echo 
'<h1>ERROR</h1><br />No se ha',                             
 
' encontrado el archivo sol',                                  
 
'icitado';                                                      
 }                                                               
} else {                                                         
 
// Sino hay cookie enviamos un error                            
 // 401                                                          
 
header('HTTP/1.0 401 Unauthorized');                            
 echo 
'<h1>ERROR</h1><br />No puedes ',                           
 
'acceder a este archivo',                                
 
'. ';                                          
}                                                                
?>
Que cambios puedo hacer para evitar este problema?

muchas gracias !
  #2 (permalink)  
Antiguo 11/05/2008, 03:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Seguridad en descarga de archivos

si... si podrian...

usa esta expresion, para eliminar dichas rutas ./ y ../
$doc=preg_replace('/\.?\.\//', '', $doc);
  #3 (permalink)  
Antiguo 11/05/2008, 10:21
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
//Re: Seguridad en descarga de archivos

Muchas gracias pateketrueke, si que si funciona perfectamente, ojalá no
haya una persona con algunos trucos para burlar eso.

Gracias nuevamente!
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 13:10.