Ho risolto. Se ci fosse qualcuno nella mia stessa posizione, posto qui come ho fatto:

nel file .htaccess ho inserito il seguente codice:

<Files *>
Order deny,allow
Deny from all
</Files>

in modo che non si possa accedere ai file della directory se non attraverso script php. Ho inserito il file .htaccess nella directory da proteggere.

quando bisogna scaricare un file e si è loggati con le sessioni basta richiamare la seguente pagina php a cui passiamo il path del file da scaricare ed ecco fatto!

<? session_start();

$path = $_GET['path'];
preg_match("/([^\/]*\.[a-zA-Z]*)*$/i", $path, $file);
if (isset($_SESSION['id_utente'])) {
$size = filesize($path);
header("Content-type: application/octet-stream");
header("Content-Length: $size");
header("Content-Disposition: attachment; filename=$file[0]");
readfile($path);
}
else {
header("Errore di autenticazione nel download dei file");
}
?>

byez!