|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Interamnia Urbs
Messaggi: 2126
|
[Linguaggio X] download files / download manager
Linguaggio X perché è un problema che non dipende dal linguaggio :P
Problema: sto facendo una specie di download manager per miei files personali. Il download manager è scritto in django e funziona. C'è una questione che però non so come risolvere...o meglio ho immaginato alcune vie ma meglio che qualcuno più esperto di me sull'argomento me lo dica. Come sapete ovviamente i file da downloader risiedono in una cartella del webserver. Dal momento che questi files mi servono come prova per elaborare delle statistiche sui download, quello che volevo fare era evitare che l'utente X potesse accedervi direttamente tramite l'url diretto del download (tipo www.miodominio.com/download/file.tgz). Io avevo pensato a due soluzioni ma non so davvero se abbiano senso: - soluzione 1: non dare i permessi di lettura alla cartella, ma a quel punto non avrebbe problemi anche il download manager? - soluzione 2: url_rewrite, cioè se tizio digita www.miodominio.com/* c'è il redirect al download manager. Come fare?
__________________
Un wormhole (buco di tarlo, in italiano), detto anche Ponte di Einstein-Rosen, è una ipotetica caratteristica topologica dello spaziotempo che è essenzialmente una "scorciatoia" da un punto dell'universo a un altro, che permetterebbe di viaggiare tra di essi più velocemente di quanto impiegherebbe la luce a percorrere la distanza attraverso lo spazio normale. Go to a Wormhole |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
La 2 è la migliore, oppure con un .htaccess credo tu possa negare l'accesso a quella directory.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Interamnia Urbs
Messaggi: 2126
|
Sì alla fine ho optato per la soluzione uno, secondo voi va bene scritto così?
Codice:
from django.http import HttpResponse import cStringIO def managing(request): response = HttpResponse(mimetype='application/octect-stream') response['Content-Disposition'] = 'attachment; filename=' + request['filename'] response['Cache-Control'] = 'must-revalidate, post-check=0, pre-check=0' f = open( request['filename'], 'rb') output = cStringIo.StringIO(f) response = response + output.getvalue() return response
__________________
Un wormhole (buco di tarlo, in italiano), detto anche Ponte di Einstein-Rosen, è una ipotetica caratteristica topologica dello spaziotempo che è essenzialmente una "scorciatoia" da un punto dell'universo a un altro, che permetterebbe di viaggiare tra di essi più velocemente di quanto impiegherebbe la luce a percorrere la distanza attraverso lo spazio normale. Go to a Wormhole |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:05.



















