Ciao a tutti,
ho un sito che permette il download e l'ascolto in streaming di file mp3 di canzoni/sample ecc.
Per proteggere il download diretto di tali file abbiamo posto gli stessi in una cartella sul server alla stessa altezza del "www" in modo da non permettere il richiamo diretto da URL.
Per leggere ed ascoltare il file uso il comodo niftyplayer che funziona tranquillamente sui vari browser, solo che con Chrome e Safari dopo circa 19sec si pianta e riporta il brano all'inizio.
Ho individuato il problema nel file mp3.php che serve da tramite per andare a recuperare l'mp3 e passarlo in straming, tant'è che se provo invece a richiamare il file audio in modo diretto funziona correttamente.
Il codice di richiamo è quindi qualcosa di simile a:
Codice PHP:
swf/niftyplayer.swf?file=http://www.miosito.it/mp3.php?file=140.mp3&quality=bassa&as=1
dove appunto "mp3.php?file=140" recupera in modo dinamico il file e lo passa al player come se si trattasse di un file audio normale.
Sapreste darmi qualche indicazione in merito su cosa controllare?
Nel file mp3.php ci sono i vari header per l'output verso il client
Codice PHP:
...
header("Cache-Control: public, must-revalidate");
header("Pragma: hack"); // WTF? oh well, it works...
header("Content-type: audio/mpeg");
header('Content-length: ' . filesize($filename));
header('Content-Disposition: attachment; filename="' . basename($filename_vero));
header("Content-Transfer-Encoding: binary\n");
...
ma non saprei dire se deve essere aggiunto/tolto/modificato qualche header per risolvere il problema o che altro.
Qualsiasi indicazione è ben accetta.
Grazie!