12

長いバージョン:

ウェブサイトで mp3 ファイルを再生するために html5 オーディオ タグを使用しています。Flash を使用すると、mp3 をストリーミングして 95% 保護できます。

html5 を使用すると、mp3 の場所を簡単に見つけて、そこからダウンロードするだけです。一意のハッシュで保護したとしても、Chrome のネットワーク タブを調べてハッシュ付きの mp3 URL を確認するのは難しくありません。

mp3がリッピングされないようにする他の方法があるかどうか、そしてそれが時間の価値があるかどうか疑問に思っていました. たとえば、bandcampは一意のハッシュを生成しますが、mp3 をダウンロードするのは非常に簡単です。YouTube の場合、flv ストリームを処理し、オーディオをリッピングして、ユーザー用に mp3 形式で保存できるダウンロード Web サイトを取得しました。

私が考えることができるセキュリティの最初のレイヤーは、mp3 ファイルの拡張子を .txt または別の一般的な形式に変更することです。

Windows と Apple ではデフォルトで非表示になっているため、ユーザーの 95% はこの拡張機能に気づきません。これにより、ユーザーの最初の 95% が mp3 ファイルを見つけて再生するのを防ぐことができます。

短縮版

html5 オーディオ タグの使用中にユーザーが mp3 ファイルを盗むのを防ぐための提案。

4

3 に答える 3

8

簡潔な答え

いいえ。

オーディオ ファイルの名前を .txt に変更しても、mp3 オーディオ ファイルのセキュリティは保護されません。どちらかといえば、mp3 オーディオ ファイルが正しくない MIME タイプで送信され、ブラウザの内蔵オーディオ プレーヤーで問題が発生する可能性があるため、さらに多くの問題が発生する可能性があります。

私があなたに提供できる最良の提案は次のとおりです。

  1. REFERER http ヘッダーを確認して、mp3 プレーヤーがあるページからのものであることを確認してください。
  2. 一意のハッシュで mp3 ファイルを保護します。
  3. 同じハッシュの 2 回のダウンロードを許可しない*

*これを行っても問題が発生する可能性があることに注意してください。たとえば、ユーザーがキャッシュからタブを再度開いてファイルを再度再生し、mp3 ファイルがキャッシュされていない場合はどうなりますか?

そして最後に、あなたの mp3 ファイルが IIS と Apache の歴史の中で最も保護された mp3 ファイルになった後でも、何が Adob​​e Audition を開いてオーディオ ストリームを録音するのを妨げているのでしょうか?

あなたは Bandcamp の MP3 オーディオ ストリームについては正しいですが、mp3 は高品質ではなく、アルバムを購入した後の通常のダウンロードにすぎません。

Google でさえ、ビデオ ストリームに対して適切な保護を行っていないという事実は、何かを物語っています。YouTube での動画再生から数十億ドルを生み出す企業は、自分の動画を保護するための実行可能な方法を作成することさえできません (または、より適切に言えば、導入することを気にしませんでした)。

于 2013-03-11T23:53:32.407 に答える
7

すこし。

Grooveshark は、ストリーミングされている MP3 のサーバー側スクリプトに POST 要求を送信します。これにより、POST 要求を自分で動的に作成せずにアクセスしてスプーフィングすることが非常に難しくなります。特に、オーディオ ファイルを保存しようとする必要があるためです。収集されます。しかし、新しい AudioContext を使用して、最新のプラットフォームのほとんどでこれを解決できます...

HTML5Rocks.com の優れた例を使用して、次のように使用されるヘッダーを変更しました。

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");
}

関連している

ご覧のとおり、パブリック/プライベート ペアの一部である可能性があるキー値も送信しています。もちろん、再生中の MP3 を単に録音する以外に、誰も介入しようとするのを先延ばしにする必要がありますが、コンピューターの内部または外部の環境で、何がそれを止めることができるでしょうか?

于 2013-07-01T13:01:22.260 に答える