
Giusto per completezza, ricordati di "filtrare"l'input. Se sai che i tuoi utente sono fidati, allora puoi lasciare così altrimenti devi fare dei controlli sul nome del file che ricevi. Questo perchè php valuta i . e i .. per risalire la directory. Se non sbaglio tu fai
codice:
<a href='http://www.miosoto.it/disegni/visualizza.php?id=<? echo "$row[disegno].pdf";?>'
Un utente potrebbe aprire il link passando un id in modo da leggere file che non dovrebbe. es:
codice:
<a href='http://www.miosoto.it/disegni/visualizza.php?id=../config.php'
e quindi la tua readfile diventerebbe
Codice PHP:
readfile('disegni/../config,php');
E quindi leggerebbe un ipotetico config.php che si trova nella directory principale, dove magari hai le password per il db.
Ovviamente sarebbe un "attacco alla cieca", ma io metterei dei controlli per esser sicuro.
Una cosa molto semplice sarebbe quella di fare un replace di '../' con null su $nome_file:
Codice PHP:
$nome_file = str_replace('../', '', $_GET['id']);