mp3 を再生するために、自分のサイトに mp3 プレーヤーをセットアップしています。現時点では、ユーザーは簡単にソースを確認し、「mp3」を検索して、私のサイトのすべての音楽をダウンロードできます。決心したユーザーが音楽をダウンロードするのを完全に防ぐことは事実上不可能であることはわかっていますが、平均的なユーザーにはそれを難しくしたいと考えています。mp3 へのリンクを難読化する方法はありますか?
関連サイト: http: //boyceavenue.com/music
mp3 を再生するために、自分のサイトに mp3 プレーヤーをセットアップしています。現時点では、ユーザーは簡単にソースを確認し、「mp3」を検索して、私のサイトのすべての音楽をダウンロードできます。決心したユーザーが音楽をダウンロードするのを完全に防ぐことは事実上不可能であることはわかっていますが、平均的なユーザーにはそれを難しくしたいと考えています。mp3 へのリンクを難読化する方法はありますか?
関連サイト: http: //boyceavenue.com/music
使用している言語が指定されていません。Marc B の記述を拡張するにhttp_send_file
は、ファイルのチェックサムと共に PHP コマンドを使用することをお勧めします。
ファイルを送信するには、次を使用します。
$filename = "/absolute/or/relative/path/to/file.ext";
$mime_type = "audio/mpeg"; // See note below
http_send_content_disposition($filename, true);
http_send_content_type($mime_type);
http_throttle(0.1, 2048);
http_send_file($filename);
PHP 5.3.0 以降を使用して複数のタイプのファイルを提供している場合は、次の方法で MIME タイプを判別できます。
$filename = "/absolute/or/relative/path/to/file.ext";
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo, $filename);
finfo_close($finfo);
チェックサムの計算は簡単です。を使用するだけmd5_file
です。
では、チェックサムで何ができるでしょうか。
相互参照するチェックサムとファイル名の配列を作成できます。つまり、ファイルへのリンクにチェックサムを含めますが、チェックサムを調べて mp3 ファイルを配信する小さなルーチンがあります。データベースでこれを行うこともできます。また、チェックサムに基づいてディレクトリ構造にファイルを保存する一部のアプリのようにすることもできます (music/3/3a/song.mp3
チェックサムは 3a62f6 など)。
ファイル名が壊れても構わない場合は、ファイル名のチェックサムを付けてファイルを保存できます。これは、アップロード時 (ファイルがアップロードされている場合) またはバッチ スクリプト (CLI を使用) を介して実行できます。
もう 1 つすべきことは、デフォルトのドキュメント (index.php など) を置いて、人々に別の場所を探すように指示することです。また、ディレクトリの参照を無効にします。非常に少数の人だけがアクセスする必要がある場合は、ディレクトリにパスワードを設定して、ファイルにアクセスするためにログインを要求することもできます。