V I S U A L I Z Z A D I S C U S S I O N E |
Lamia |
Inserito il - 24/04/2007 : 17:45:41 ho letto in giro che un modo per verificare il successo di un download (cioè che un file sia stato scaricato correttamente senza perdite) consiste nell'applicare l'md5 o l'sha-1 al file in questione (funzione sha1_file() del php) sia sul server che sul client, e verificare se le stringhe generate coincidono.
per quanto riguarda l'applicazione dell'sha-1 al file sul server non ci sono problemi ma.......come faccio ad applicarla al file sul client? innanzitutto c'è il problema di localizzarlo: potrebbe trovarsi in qualunque directory e poi cmq una volta trovato come ci applico l'sha-1??? |
6 U L T I M E R I S P O S T E (in alto le più recenti) |
Lamia |
Inserito il - 26/04/2007 : 10:47:09 altro problema: modificando gli header come dici, il download si avvia con IE, Opera ma non con Mozilla Firefox (ho controllato le impostazioni del browser e googlato ma non ho risolto niente :p): Firefox apre la finestra 'Save as' etc ma poi non scarica niente (infa per il momento x permettere di scaricare sto usando header("location: etc")) |
Lamia |
Inserito il - 25/04/2007 : 19:50:35 ciaooo grazie millerrime sembra interessante ma questo:
Citazione: Messaggio inserito da feeb
e fare in modo di verificare che tutto l'output dello script arrivi all'utente
come si fa?? ho googlato parecchio ma non sono riuscita a trovare consigli su come attuare un controllo simile :p |
feeb |
Inserito il - 25/04/2007 : 02:56:07 Citazione: Messaggio inserito da Lamia
ho letto in giro che un modo per verificare il successo di un download (cioè che un file sia stato scaricato correttamente senza perdite) consiste nell'applicare l'md5 o l'sha-1 al file in questione (funzione sha1_file() del php) sia sul server che sul client, e verificare se le stringhe generate coincidono.
per quanto riguarda l'applicazione dell'sha-1 al file sul server non ci sono problemi ma.......come faccio ad applicarla al file sul client? innanzitutto c'è il problema di localizzarlo: potrebbe trovarsi in qualunque directory e poi cmq una volta trovato come ci applico l'sha-1???
ciao myr
secondo me un metodo potrebbe essere questo:
potresti gestire il download tramite uno script in php che dia in output al client l'header e i dati che vuoi tu, in un modo simile a questo:
<?php header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="scaricato.pdf"'); readfile('originale.pdf'); ?>
e fare in modo di verificare che tutto l'output dello script arrivi all'utente
un altro modo potrebbe essere pubblicare, oltre al file, i digest in SHA1 e/o MD5 del file, ma in questo caso si dovrebbe delegare all'utente il compito di calcolarli lato client |
genius |
Inserito il - 24/04/2007 : 23:30:59 boh, non vedo delle soluzioni a questo problema, almeno in php... |
Lamia |
Inserito il - 24/04/2007 : 20:26:44 ti ringrazio per la risposta il problema è che facendo come dici non si automatizza il processo ('come reinviare al server il file' senza ovviamente che lo faccia l'utente). non l'ho spiegato prima ma il motivo per cui mi serve verificare l'integrità del download è che devo permettere un solo download a persona. Non posso limitarmi a controllare il 'numero di click' su un link perchè non prevederei il caso in cui dopo il primo avvio il download fallisca, e ne siano necessari altri. |
ErrNo |
Inserito il - 24/04/2007 : 19:41:26 una soluzione potrebbe essere reinviarlo al webserver che ospita il programma php che ripete il check, oppure ti crei un'applicazione locale in php a cui gli mandi l'indirizzo locale del file. |