Ho trovato un simpatico script per evitare che un qualsiasi utente possa inserire il link di un file sul browser e scaricarlo senza essere logato.
In pratica, metto un htaccess opportunamente modificato nella cartella dei file da proteggere e con lo script seguente li proteggo:

Codice PHP:
header("Content-Type: application/zip");
header("Content-Length: ".filesize("File.zip"));
header("Content-Disposition: attachment; filename=File.zip");
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: private");
header("Pragma: public");
 
readfile("File.zip"); 
Questo è l'htaccess modificato che ho inserito nella cartella dove i file vengono uploadati:
codice:
<Files ~ ".pdf">
Order allow,deny
Deny from all
Satisfy All
</Files>
Ora, lo script funziona perfettamente, l'ho testato con file fino a 300kb
Il problema viene fuori se i file sono enormi (nel mio caso arrivano fino a 80mb). A quanto pare Aruba mi blocca lo script e infatti scarico un file vuoto (di solo 250 byte).
Ho provato lo script su un altro server e funziona anche con file enormi. Purtroppo al momento non posso trasferire il sito su un altro dominio.

C'è un modo per sistemare la cosa su Aruba (ormai le sue limitazioni mi stanno dando i nervi)? Se conoscete un altro script, ben venga.