disign | Limitare e controllare il download di files da web | a digital sign for a best design!
A digital sign for a best design

Articolo stampato da http://disign.improntedigitali.it/limitare-e-controllare-il-download-di-files-da-web-497-2-1.html

© Luca Frassineti

Programmazione 5.610 visualizzazioni

Limitare e controllare il download di files da web

12/06/2014

In alcune situazioni ci viene richiesto di limitare il download di files e documenti ad utenti registrati e comunque mantenendo nascosto il percorso in cui è archiviato il file sul server web.

Una soluzione passa attraverso la memorizzazione in database del path e quindi le realizzazione del link via query di selezione sebbene questa soluzione, oltre ad obbligarci ad inserire nel db le coordinate del file non impedisca ad un utente esperto la visualizzazione del path.

L'alternativa che rende più semplice ed efficace la soluzione può essere questo breve script php (è necessario specificare nella definizione della variabile file il percorso):

$file = $_SERVER["DOCUMENT_ROOT"] . '/path/doc.ext';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}

 

A questo punto basta puntare il link del download al file php sopra indicato ed il gioco è fatto!

Con poche righe di codice aggiuntive inoltre possiamo detectare l'IP di chi scarica, la data e quindi regsitrare tutti i 'movimenti' del documento in questione.

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 


Questo sito è totalmente privo di pubblicità, se volete sostenere questa inziativa, potete scegliere di fare una piccola donazione libera:


© 2009 - 2024 Impronte digitali di Luca Frassineti. Tutti i diritti riservati.