0

私はこれに対する解決策を見つけるためにWeb全体を検索しましたが、チャンクのようなphpベースのソリューションを含むものや、mod_xsendfile()などを含む他のものを見つけましたが、正確な問題の解決策を見つけることができませんでした.

問題は次のとおりです。

私は自分のウェブサイトで音楽を再生するために jplayer を使用しています。私が欲しいのは、ユーザーが曲をプレイリストに追加すると、それが jplayer リストに追加されることです (これは既にテスト済みで、問題はありません。JSON オブジェクトを Java スクリプトに渡して、その曲をプレイリストに追加します (これはまた、曲の完全な URL を渡す必要があります)) が、ユーザーに mp3 の正確な URL を見せたくありません。または、彼がそれを見ることができたとしても、ブラウザにその URL を直接入力してアクセスすることはできないはずですが、ダウンロードは問題ありません。

hostgator を webhost として使用しています。これにより、ファイルをルート フォルダーの外に配置するためのアクセスが提供されます。これは、godaddy などの他のホストの制限になる可能性がありますが、共有ホスティングではまだ mod_xsendfile() をサポートしていないため、それに関連する回答は避けてください。

ファイルをルート外またはルート内に保持する必要があるかどうかに関係なく、どのソリューションでも問題ありませんが、ファイルへの直接アクセスを保護したいだけです。

4

1 に答える 1

1

Jplayer には生の MP3 データを返す URL が必要です。したがって、ファイルを直接読み取れるようにするか、他の方法でファイルを送信できるようにする必要があります。

ここでの (X-SendFile のようなシステムを使用しない) 従来のソリューションは、関連するアクセス許可をチェックしてから必要なファイルを送信する PHP スクリプトです。誰かが許可を持っていない場合、別のファイルを送信して通知するか、他の方法でユーザーに通知することができます。

検証チェックを実行し、問題がなければ、ファイルへのパスを指定してhttp://php.net/readfileを呼び出します。ディスクからファイルを送信します。おそらく、最初に MIME タイプのヘッダーもいくつか設定する必要があります。

于 2013-02-04T17:54:33.943 に答える