非メンバー ユーザーがビデオや写真にアクセスすることを禁止するにはどうすればよいでしょうか。
簡単に考えられる方法は次のとおりです。
リソース ファイルをパブリック ディレクトリの外に置き、これらのリソースへのすべてのアクセスは次のような統一された入り口を通じて行います。
<br />http://xxx/file.php?video.mp3<br />
ログイン後にコピー
これはサーバーに大きな負荷をかけますか?
もっと良い方法はありますか?
アドバイスをください!
--- ---解決案- ----------ファイルを保存する際は、ファイル名をスクランブル化し、文字化けまたはMD5を使用してください。
ユーザーをデータベースに保存 ID-元のファイル名-文字化けしたファイル名の対応。呼び出し時に元のファイル名を使用して文字化けコードを照会し、ダウンロード名を設定できます。元の名前
------解決策のアイデア--- ------------------Web サーバーに許可しない限りメンバーを知っておいてください。効率の問題はテストしていませんが、メモリを一度読み取ってから出力ストリームに書き込むタイプでない限り、readfile を使用できるはずです。考えてみると、HTTP 経由でファイルにアクセスする場合、最初に Web サーバーの層も通過するため、損失は避けられません。
------解決策----------------------phpを使用してファイルを読み取り、ファイルを配置しますWeb から読み取れないディレクトリに保存し、PHP を使用して出力し、PHP でアクセス許可を制御します。
例: Web サイトのディレクトリは /home/www/
<br /><?php<br />if(判斷是否有權限){<br /> $file = '/home/file/aaa.jpg';<br /> echo file_get_contents($file);<br />}<br />?><br />
ログイン後にコピー
です。