Solo per una breve panoramica. Ho un sistema che può generare fatture e ha un sistema di login per un utente per generare le sue fatture. Diciamo che la piattaforma risiede a /platform
e le fatture in /platform/invoices
e la piattaforma è al dominio www.exmaple.com
. Le persone possono accedere e generare le loro fatture che generano effettivamente la fattura nella cartella invoices
e quindi tramite l'url www.example.com/invoices/invoicename.pdf
scarica il file. La cartella delle fatture è accessibile pubblicamente per consentire al sistema di prendere il file.
Tuttavia, se per esempio clientA si è spostato su www.example.com/invoices/invoicename-ownedbyclientB.pdf
, sarebbe stato in grado di scaricare una fattura che non gli apparteneva.
Posso certamente fare cose per mitigare questo come cancellare la fattura dopo la generazione e scaricare per mantenere la cartella pulita, non consentire l'indice sulle directory per fermare la navigazione, cambiare il sistema in modo che i file vengano inviati via e-mail invece che scaricati su una directory di sistema.
Dal punto di vista del sistema posso facilmente limitare le persone a cui hanno accesso in quanto sono autenticati, ma quale sarebbe il modo migliore per gestire la situazione di cui sopra. Ho preso in considerazione l'utilizzo di htaccess
o simili in questa directory per garantire che le chiamate provengano dal server stesso (non ho verificato se ciò è possibile, solo un'ipotesi al momento).