Ho una domanda di sicurezza che non sono sicuro se questo approccio è un modo sicuro per scaricare un file e presentarlo a un utente web?
Abbiamo i file di fatturazione dei clienti memorizzati in una posizione del server (posizione pubblicamente inaccessibile), quindi li leggiamo tramite il codice PHP in un file (in una posizione accessibile pubblica) come di seguito,
Mi chiedo solo, se questo modo di
- presentare file per l'utente finale è abbastanza sicuro?
- che l'utente finale non avrà alcuna conoscenza, di dove i file sono memorizzati nel server?
-
qualche altra raccomandazione su come gestire una situazione simile?
$i = $invoice->get(); $filename = sprintf(INV_PDF_FILENAME,$i['customerid'],date('Ymd',$i['dateIssued'])); $x = sprintf('/tmp/invoices/%s',$filename); header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="'.$filename.'"'); header('Expires: 0'); header('Pragma: cache'); header('Cache-Control: private'); readfile($x);