molti siti hanno dei link che dopo un pò di tempo si disattivano.. del tipo
sito.com/723bd01f65708dcab0548d00d78b0741/file.exe
questo link entro un certo tempo funziona dopo non più..
secondo voi come l'hanno realizzato?
molti siti hanno dei link che dopo un pò di tempo si disattivano.. del tipo
sito.com/723bd01f65708dcab0548d00d78b0741/file.exe
questo link entro un certo tempo funziona dopo non più..
secondo voi come l'hanno realizzato?
Ad occhio mi sembra l'id di una sessione...forse sessione e cookie...sembra che creino una cartella con l'id della sessione e se è scaduto un certo tempo, il link non è raggiungibile oppure viene rimossa la cartella...forse?!?!?!?!?!?
Però potrebbe essere un'idea![]()
creare una cartella mi pare scomodo ma potrebbe essere, altrimenti potresti utilizzare il rewrite dell'url
prova a cercare rewrite su questo forum per le spiegazioni cmq il tuo esempio potrebbe essere riscritto per richiamare una pagina x in questo modo
sito.com/723bd01f65708dcab0548d00d78b0741/file.exe
diventa ->
sito.com/download.php?id=723bd01f65708dcab0548d00d78b0741
in questo modo si intuisce subito il trucchetto, tutte le richieste di quel tipo sono dirottate dal webserver sulla pagina download.php passando l'id in get
la pagina php controlla se l'utente ha i permessi per scaricare il file e lo restituisce al browser
quell'id potrebbe indicare una riga del database di questo tipo
id - nomefile - scadenza
dove nomefile è il path vero del file sul server che rimane completamente trasparente all'utente
Ciao
si esattamente pensavo anche io una cosa del genere.
ma mi sorgono 2 riflessioni.
a.
è la pagina download.php che invia i dati del file. casomai attraverso un semplice echo readfile($dir)
e a questo punto come si fa a rendere disponibile la funzione resume?
b.
la funzione del database mi sembra troppo dispendiosa, se per esempio ci sono molti file che possono anche essere scaricati da utenti diversi a distanza di mesi sarebbe troppo dispendioso aggiornare ogni volta l'id e la scadenza per ogni file, anche perchè l'aggiornametno dovrebbe essere fatto a distanza di 24 ore o anche meno, se per esempio ci sono 300 file nel database ci sarebbe una tabella con altrettanti record
secondo me sarebbe meglio una cosa del genere, dove quest'indirizzo convertito con rewrite:
sito.com/723bd01f65708dcab0548d00d78b0741/system/file.exe
diventa->
download.php?time=723bd01f65708dcab0548d00d78b0741 &file=system/file.exe
quella stringa potrebbe essere l'md5 di una data del tipo 15/11/2007
quindi la pagina attaverso date(time()) richiama la data del giorno attuale fa l'md5 e se è uguale a quella passata significa che la richiesta del file proviene da un url di quello stesso giorno quindi fresco che può passare per il download![]()
bubu ho un'altra domanda... se invece si volesse attivare il 'resume' per questi download? è ovvio che un semplice readfile($dir) non riuscirebbe a servire per il resume...
bisognerebbe utilizzare l'header accept-ranges:Bytes?
qualceh idea?