2013-03-11 17 views
10

Długa wersja:audio bezpieczeństwo tag w HTML5

używać HTML5 tag audio odtwarzać pliki mp3 na mojej stronie. Dzięki Flash mogę przesyłać strumieniowo pliki mp3 i zabezpieczyć je na 95%.

Dzięki html5 łatwo jest znaleźć lokalizację mp3 i po prostu ją pobrać. Nawet jeśli zabezpieczyć go za pomocą unikatowych skrótów, nietrudno sprawdzić kartę sieci w chrome i zobaczyć URL pliku mp3 z hashe.

Zastanawiam się, czy istnieją inne sposoby zabezpieczenia mp3 przed zgrywaniem i czy jest to warte czasu. Na przykład bandcamp generuje unikatowe hashe, ale nadal bardzo łatwo jest pobrać mp3. Dla youtube masz strony do pobrania, które mogą przetwarzać strumień flv i zgrać audio i zapisać go dla użytkownika w formacie mp3.

Pierwszą warstwą bezpieczeństwa, o której myślę, jest zmiana rozszerzenia plików mp3 na .txt lub inny popularny format.

95% użytkowników nie widzi rozszerzenia, ponieważ jest ono domyślnie ukryte w systemie Windows i urządzeniu Apple. Dzięki temu pierwsze 95% użytkowników nie wykryje i nie odtworzy pliku mp3.

Short Version

Wszelkie sugestie, aby uniemożliwić użytkownikom kradzież plików mp3 podczas korzystania HTML5 tag audio.

+1

Czy to Twoja muzyka? Dlaczego po prostu nie przesyłać strumieniowo niskiej jakości kopii i używać unikatowych skrótów, aby ją częściowo chronić. – shapeshifter

+4

Albo od czasu do czasu szeptaj nazwę swojej domeny w środku mp3. – shapeshifter

+0

Obie dobre opcje do rozważenia. Różni artyści dali mi prawa do odtwarzania dźwięku na stronie internetowej. – automaticoo

Odpowiedz

6

Rodzaj.

Grooveshark wysyła żądanie POST do skryptu po stronie serwera dla odtwarzanego pliku MP3, co sprawia, że ​​bardzo trudno jest po prostu uzyskać dostęp i podróbkę bez dynamicznego tworzenia żądania POST samemu - zwłaszcza, że ​​musiałbyś wtedy spróbować do przechowywania zebranego pliku audio. Ale można użyć nowego AudioContext pomóc rozwiązać ten problem dla większości nowoczesnych platform ...

Kiedyś świetny przykład z HTML5Rocks.com zmieniać nagłówki wykorzystywane w następujący sposób:

var dogBarkingBuffer = null; 
// Fix up prefixing 
window.AudioContext = window.AudioContext || window.webkitAudioContext; 
var context = new AudioContext(); 

function loadDogSound(url) { 
    var request = new XMLHttpRequest(); 
    request.open('POST', url, true); 
    request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
    request.responseType = 'arraybuffer'; 

    // Decode asynchronously 
    request.onload = function() { 
    context.decodeAudioData(request.response, function(buffer) { 
     dogBarkingBuffer = buffer; 
    }, onError); 
    } 
    //this is the encryption key 
    request.send("key=98753897358975387943"); 
} 

Related

Jak widzisz, wysyłam również wartość klucza, która mogłaby być częścią pary publicznej/prywatnej. To powinno uniemożliwić komukolwiek interwencję - poza zwykłym nagrywaniem odtwarzanego pliku MP3, oczywiście, ale co mogłoby to powstrzymać w dowolnym środowisku wewnątrz lub na zewnątrz komputera?

+1

Nice snippet. Wydaje się to dość solidne i na pewno uniemożliwi 99% zwykłych użytkowników kradzieży mp3 – automaticoo

+0

Dzięki - jest w moim interesie, aby użyć tego również wkrótce, więc cieszę się, że natknąłem się na ten wątek, ponieważ pomógł mi rozwiązać ten problem . Rekwizyty idą do wskaźnika Groovesharka i Alexa Reidy. – marksyzm

+0

Przepraszam, ale co przeszkadza mi zobaczyć zasób w mojej konsoli chrome i mieć do niego dostęp? – Snick

8

Krótka odpowiedź

nr

Zmiana nazwy pliku dźwiękowego do .txt nie zamierza zrobić wszystko, aby pomóc bezpieczeństwo pliku audio mp3. Jeśli cokolwiek, spowoduje to jeszcze więcej problemów, ponieważ teraz plik dźwiękowy mp3 zostanie wysłany z nieprawidłowym typem MIME, co może powodować problemy z wbudowanym odtwarzaczem audio przeglądarki.

Najlepsze sugestie, że mogę dostarczyć wam jest:

  1. Upewnij się, że Twój sprawdzania nagłówka HTTP Referer, upewnij się, że zbliża się od strony, która posiada odtwarzacz MP3 na nim.
  2. Chroń plik mp3 za pomocą unikatowego skrótu.
  3. Nie dopuszczać taki sam hash być pobierane dwukrotnie *

* Należy pamiętać, że nawet to robi może spowodować problemy, na przykład, co się dzieje, gdy użytkownik ponownie otwiera kartę z pamięci podręcznej, ponownie odtwarza plik, a plik mp3 nie jest buforowany?

I na koniec, nawet po tym, jak plik mp3 jest najbardziej chronionym plikiem mp3 w historii IIS i Apache - co powstrzymuje mnie przed otwarciem Adobe Audition i nagrywaniem strumienia audio?

Chociaż masz rację, jeśli chodzi o strumień audio MP3 Bandcamp, mp3 nie jest tak wysokiej jakości, jak zwykłe pobieranie po zakupie albumu.

Fakt, że nawet Google tak naprawdę nie ma żadnej przyzwoitej ochrony swoich strumieni wideo, powinien coś powiedzieć.Firma, która generuje miliardy dolarów dzięki oglądaniu filmów w serwisie YouTube, nie może nawet (ani lepiej - nie zadała sobie trudu, aby wdrożyć) żadnych skutecznych metod ochrony swoich filmów.

+0

To prawda, zmiana nazwy na txt jest złą praktyką i prawdopodobnie napotka na więcej problemów, które rozwiązują. – automaticoo

+0

Dobra odpowiedź, ale na szczęście na szczęście zrobiło się odrobinę - proszę sprawdzić moją odpowiedź poniżej – marksyzm

2

Sprawdź Grooveshark's HTML5 site. Jest całkiem bezpieczny. Kiedy zagrasz piosenkę, wpisz ją w pasek URL i przekonaj się: javascript:alert(window.GS.audio.audio.src);. Nie jest to tak proste jak grooveshark.com/songs/song.mp3, niestety.

+0

Ludzie z nowoczesnymi przeglądarkami po prostu wykonują "alert (window.GS.audio.audio.src);" w panelu debugowania. – automaticoo

+1

Lub po prostu 'window.GS.audio.audio.src' w takim przypadku - brak alertu koniecznego, jeśli używasz konsoli – ICoffeeConsumer

+3

są one wyłączane –

0

Można sprawić, że pliki MP3 będą nieatrakcyjne. Niektóre pomysły:

  • Nie dodawaj okładek albumów, informacji o albumach itp. Do swoich plików (znaczniki ID3). Co więcej, wypełnij wszystkie pola znaczników id3 np. "Ten plik pochodzi z myMusicSite.com".

  • Podziel pliki na kilka mniejszych elementów, a następnie odtwarzaj je kolejno w przeglądarce. Konieczność pobrania wszystkich pojedynczych elementów sprawi, że Twoje pliki będą mniej atrakcyjne. Możesz mieć problemy z odtwarzaniem bez przerw, ale nie wiesz, jak dobrze to jest obsługiwane.

  • Zakoduj i odtwórz je jako wideo, być może z logo lub czymś takim, jak strumień wideo. Wynikowe pliki nie będą dużo większe, szczególnie. jeśli używasz statycznego obrazu. Oznacza to, że użytkownicy nie będą mogli łatwo odtwarzać plików na odtwarzaczach MP3, telefonach itp.

  • Szeptaj nazwę domeny lub nazwę strony w nagraniach kilka razy, jak wspomniano w komentarzach.