2012-01-16 9 views
11

Ecco il mio scenario: Sto costruendo una pagina Web per la banda di un amico. Vogliono trasmettere versioni complete delle loro canzoni sul sito, ma non consentire agli utenti di scaricare i file. Ci sono collegamenti per acquistare la musica su iTunes e Amazon. La mia soluzione ideale è usare il tag audio html5.Come proteggere la musica durante lo streaming tramite tag audio HTML5

Il mio problema: Lo streaming di musica attraverso il tag audio non è sicuro e molto facile da catturare l'URL nella fonte della pagina e quindi il download dal proprio browser web.

Ho fatto qualche ricerca online e ho letto alcune discussioni. Sì, lo so che non c'è modo di renderlo sicuro al 100%. Ma vorrei provare a implementare alcune misure di sicurezza per scoraggiare la maggior parte delle persone dal rubare la musica.

Quindi la mia domanda è: quali misure posso prendere qui per provare e proteggere l'audio? C'è un modo per consentire solo la pagina che trasmette la musica ad esso accesso? In questo modo gli utenti non possono semplicemente accedere all'URL del file musicale e scaricarlo? O c'è un modo per ottenerlo da un webservice?

Qualsiasi aiuto è molto apprezzato. Grazie!

risposta

8

C'è un piccolo trucco penso a: consentire l'accesso alla musica attraverso un URL univoco di una volta:

// Page generation 
// Generate unique token and put it into database 
<audio controls="controls"> 
    <source src="song.ogg?token=UNIQUETOKEN" type="audio/ogg" /> 
</audio> 

// On access 
- Check for corresponding UNIQUETOKEN in database 
- Remove token from database 
- Send audio data 

Essa non impedirà agli utenti di scaricare la vostra canzone attraverso CURL (per esempio), ma non saranno in grado di visualizzare la pagina E navigare nella sorgente per scaricare nuovamente la canzone.

Inoltre, dovrebbe essere possibile scaricare campioni separati della traccia e riprodurli continuamente con un lettore personalizzato. Queste sono solo idee, non sono sicuro che sarebbero abbastanza efficienti per ciò che richiedete.

+0

Questa idea è una buona teoria, ma non sono abbastanza sicuro di come ciò sarebbe attuato nella pratica? Sì, potrei creare un database e ottenere/impostare un token, ma non capisco come prendere il brano usando questo URL con un token come stringa di query usando HTML. – JRusty15

+0

Nel database, avrai una tabella "token" con un 'id' e un corrispondente' nomefile'. Potresti avere diversi 'ids' per un singolo' nomefile'. Sul lato sever, lo script troverà UNIQUETOKEN, otterrà il nome file corrispondente, cancellerà la riga nel database e produrrà i dati del brano. Come leggere e stampare il contenuto di un file dipende dalla lingua del tuo server. In PHP, sarebbe: 'echo file_get_contents ($ nomefile)'. –

+0

Bene, il sito web sarà ospitato da una terza parte e non ho la possibilità di impostare alcun tipo di permesso per i file. Quindi cosa fermerebbe un utente dalla navigazione verso l'URL (senza token) e continuando ad accedere al file? – JRusty15

0

ho fatto con due file .php:

Il primo è il 'player'. Quando viene caricato crea una sessione var che il secondo preleva, oppure no.

Il secondo è lo "streamer". Se trova la sessione var, usa i messaggi di "contenuto parziale" per trasmettere la canzone al lettore. Se manca la variabile var, non fa nulla.

Non dovrebbe essere un modo per collegarsi direttamente ad esso senza accedere al file system.

Problemi correlati