una cosa non ho capito, quando dici rendi la cartella inaccessibile dall'esterno e ne crei una.

io avrò la cartella con tutti i file.che ovviamente se provo a scrivere

www.miosito.it/cartella/

risulterà una pagina di errore perchè la pagina non esiste.

per il download dei file sarà un link accessibile dall'area utente tipo

www.miosito.it/donwload.php?file=nomefile

la pagina download.php
-riceve il nome del file,
-lo filtra per evitare eventuali injection o xss,
-cerca se l'utente è loggato
-se l'utente è loggato controlla se il file è suo.
-se il file è suo ed esiste inizia il download.

in questo modo la www.miosito.it/cartella non è mai visibile perchè è un indirizzo che si gestisce da solo php e teoricamente non individuabile(oltre al fatto che non è accessibile.

il controllo del file e dell'utente per evitare che qualcuno si inventi di scrivere a caso
www.miosito.it/download.php?file=XXXXXXtentativi

pensavo di fare una cosa ulteriore che non so se ne valga la pena o meno.

creare una cartella temporanea,
i file contenuti nella cartella contenuti hanno un nome in stile hash,
nel momento in cui io faccio la richiesta

http://www.miosito.it/download.php?f...sD3:s2dasw3ssd

il file viene copiato sulla cartella temporanea, rinominato per rendere più semplice il download tipo goldrake.mp3 e una volta scaricato cancellato.

fattibile, corretto o è una precauzione inutile?
più che altro dopo devo inventarmi come verificare se il download è andato a buon fine...
in teoria usando feof() e fget()