disign.it | Limitare e controllare il download di files da web | a digital sign for a best design!
A digital sign for a best design
Programmazione 2.814 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.

← Nuove estensioni domini Riordinare colonne di una tabella MySql →

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 

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