web-dev-qa-db-ja.com

MP3ファイルをWordPressで提供して、リスニング専用(ダウンロードを防止)

WordPressブログがあり、そこにいくつかの大きなオーディオファイルを訪問者と共有したいと思っています。しかし、ユーザーがMP3ファイルを直接ダウンロードするのを防ぐか、少なくとも落胆させたいと思います。

オーディオを何らかのストリーミングとして表示する可能性のある多くのプラグインを見てきましたが、残念ながらHTMLコードを見ると、MP3ファイルへの直接リンクが表示されます。
これまでに見つけた最良の解決策は、 Yagosta Flash playerを埋め込むことです。

HTML5で同じ結果を達成する方法があるのだろうか?非常に多くのデバイスがFlashをサポートしていないため、私はむしろFlashプレーヤーを使用しません。

2
user1073075

HTML5機能を使用してMP3ファイルを再生するには、ブラウザーがMP3ファイルのURLを知っている必要があるため、ソースコードに含める必要があります。ただし、次のようないくつかのトリックがあり、人々がURLを見つけにくくするのに役立ちます。

HTML文字コードの代替を使用したURLの難読化

例:http://http://になります

<?php
function HtmlObfuscation( $sText ) {
  $sObfuscated = '';
  for( $i = 0; $i < strlen( $sText ); $i++ ) {
    $sObfuscated .= '&#' . ord( $sText[$i] ) . ';';
  }
}

Javascriptを使用してページが読み込まれた後にURLを挿入する

HTMLファイルには以下が含まれます。

<audio controls id="mp3-player"></audio>
<script type="text/javascript" src="mp3-player.js"></script>

そして、javascriptファイルmp3-player.jsには以下を含めることができます。

oMp3Player = document.getElementById('mp3-player');
oAudioSource = document.createElement('source');
oAudioSource.href = 'http://www.example.com/audio/protected-asset.mp3';
oAudioSource.setAttribute('href', 'http://www.example.com/audio/protected-asset.mp3');
oMp3Player.appendChild(oAudioSource);

またはおそらく同じものを難読化したバージョン( オンラインツール を使用して作成):

eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('a=2.d(\'1-c\');0=2.h(\'g\');0.6=\'4://3.7.5/8/b-9.1\';0.f(\'6\',\'4://3.7.5/8/b-9.1\');a.e(0);',18,18,'oAudioSource|mp3|document|www|http|com|href|example|audio|asset|oMp3Player|protected|player|getElementById|appendChild|setAttribute|source|createElement'.split('|'),0,{}))

スローストリーム

ストリームのデータ速度をリスニングペースに制限して、MP3ファイルを聞くよりも速くダウンロードできないようにします。

例: http://priteshgupta.com/2011/07/limit-file-download-speed-using-php/https://stackoverflow.com/questions/4002106/limit -download-speed-using-php


ただし、ソースコードで非表示にするために使用するトリックが何であれ、開発者ツールが有効で[ネットワーク]タブが選択されている場合、ブラウザーは非常に読みやすい形式で表示することがよくあります。最近では、F12キーを押すだけで、すべてのトップブラウザーにこれらの機能が組み込まれています。

また、残念ながら、MP5オーディオリンクの埋め込みにHTML5を使用すると、フラッシュプレーヤーの問題と同様に、すべてのWebブラウザーのすべてのバージョンがこれをサポートするわけではありません。HTML5がまだ開発中であり、まだ最終的な標準です。そのため、少なくとも最も使用されているブラウザーバージョンで動作するバージョンがあることを確認するために、ソリューションといくつかのロジックコードの組み合わせを使用する必要があります(ユーザーが使用しているWebサイトの分析を確認してください)。

実際には、オーディオファイルを再生できる場合は、ダウンロードできます。イライラすることは知っていますが、これは現実です。オーディオの場合、最高のコピープロテクションは、オーディオの長さ全体ではなくサンプルクリップのみを提供することである場合があります。たとえば、キャッチフレーズでウェブサイトを紹介するための音声。

3
richhallstoke