Newsgroup: it.comp.www.php
Titolo: Come lo fareste ?

No, non è una domanda maliziosa...
Come lo fareste un form html / php che a fronte dell'inserimento di un
codice personale e/o email e password permette di scaricare un file (che
risiede fisicamente sul mio server) *una volta soltanto* ?
Il problema, se non erro, è che sia lato client che server non è agevole
avere il controllo del download. Ovvero, se per qualche motivo (sia
voluto che involontario) il download si interrompe, io come faccio a
saperlo e a non inibire i successivi download ?
In PHP è relativamente semplice mettere in piedi un sistema che "marca"
i download e inibisce i successivi... Il fatto è che non posso chiedere
all'utente "hai finito il download?". Se mangia la foglia e mi risponde
"no" avrà sempre accesso a quel download -> chiunque potrebbe, una volta
che conosce il link.
Occhei, certo, una volta che l'utente ha il file... ciccia, lo manda a
chi vuole, ma intanto io ho le spalle coperte lato web...
saludos,
M.

 saperlo e a non inibire i successivi download ?
Non puoi saperlo. Mettiti l'animo in pace, appena inizia il download 
marchi una flag nel DB e se l'utente si lamenta controlli manualmente i 
log di apache per vedere se e` vero, e in caso gli togli il flag.
Trovo abbastanza inutile, comunque, far scaricare un file una volta sola.
Se e` importante sapere quando l'ha scaricato, mettici un watermark con 
la data, o qualcosa del genere.
Bye.


Quanto è pesante il file?
Invece di un contatore metti un timer, l'utente può scaricare il file
(tutte le volte che vuole) entro X ore, in base alle dimensioni.. se è
un'iso da 4Gb devi lasciargli almeno un paio di giorni, considerando
tutti i possibili problemi e la potenza delle linee italiane.

se poi i file non sono molto grossi puoi sempre inviarli per mail.

 se poi i file non sono molto grossi puoi sempre inviarli per mail.
Questo sistema dovrebbe evitare proprio l'invio di email.
Una soluzione che mi è venuta in mente è :
- file compresso con password
- al termine del downlaod "obbligo" l'utente a premere su un pulsante
"ottieni password" *dopo* che il download sia stato completato con
successo (e questo ovviamente lo può appurare solo l'utente); alla
pressione del pulsante metto il flag che inibisce ulteriori download
saludos,
M.


sinceramente ti odierei per questo, ma se proprio devi attivare un
controllo tale l'idea può andar bene
di contro avrai però che nel momento in cui tu "attivi" il download
(ossia generi il codice da dare all'utente) fino a che lui non chiede
la password l'utente può anche scaricarlo due/n volte insieme,
altrimenti dovresti impedirlo ma non saprei a questo punto come si
comporterebbe un eventuale download manager/accelerator che in teoria
fanno proprio questa operazione per velocizzare il tutto.
altrimenti dovresti pure scrivere che non puoi usare un DM, ma
ripeto....fossi io la prima cosa sarebbe una serie di improperi nei
tuoi confronti

 tuoi confronti
Rispetto questo punto di vista per cui ci penserò 101 volte. Grazie
delle info,
saludos
M.

 saperlo e a non inibire i successivi download ?
Il compromesso che mi sembra più o meno tutti raggiungono è quello di
creare link di download con validità temporale limitata. Chiaro che
finchè si è nella finestra l'utente lo può scaricare quante volte
vuole, ma è una soluzione che comunque ti evita l'impegno di mantenere
online per un tempo indeterminato i contenuti in download e che limita
gli abusi. Ogni soluzione più "draconiana" inficia pensantemente
l'usabilità del tutto, e cmq niente - se non qualche forma di DRM, e
anche lì è tutto da vedere - impedisce all'utente di duplicare il file
per quante volte vuole *dopo* averlo scaricato, quindi...
bye!

 potenza delle linee italiane.
?????????
ciao, f.

 ciao, f.
Ci sono molte province dove scaricare un file di 4Gb da un browser è
ancora un problema, causa interruzioni o cali continui di linea.