ecco questa è la versione finale del codice che dovrebbe essere sicura...
che dite??
è sicura?? 
grazie
codice:
<?
if(isset($_GET['id']))
$get_id = $_GET['id'];
else {echo'id non definito! :(';exit(0);}
$indirizzo = str_replace('\\','/',$get_id);
$indirizzo = str_replace('..','',$indirizzo);
$indirizzo = explode('/',$indirizzo);
if(
sizeof($indirizzo) != 2 ||
$indirizzo[0] != 'database'
){
echo 'Non sei autorizzato a scaricare questo file! :)';
exit(0);
}
$file = $get_id;
$filename = $get_id;
if(!is_file($file)){
echo 'Sei autorizzato a scaricare da questa directory ma il file non esiste :p';
exit(0);
}
header('Content-type: text/plain');
$content = 'Content-Disposition: attachment; filename="'.$filename.'"';
header($content);
readfile($file);
?>