0

Webspace に画像ファイルsecretImage.pngがあり、複数のユーザーが でこの画像にアクセスできるようにしたいとしますindex.php。これは簡単に行うことができます:

// index.php
if($userIsAllowed) echo '<img src="secretImage.png" />';

問題は、理論的にはユーザーが を直接参照して画像にアクセスできることwww.myDomain.com/secretImage.pngです。画像を内部でしか見ることができないようにする方法はありますindex.phpか?

4

4 に答える 4

0

htaccess を使用して、特定のフォルダーに対するすべての要求を .php ファイル経由でルーティングできます。ファイルでは、ユーザーがファイルを見ることができるかどうかを判断できます...そうであれば、正しいヘッダーと画像を配信してください。そうでない場合は、必要なものを表示します (404、プレースホルダー画像)。

于 2013-07-23T22:52:49.653 に答える
0

HTTP 呼び出しGET /secretImage.png自体に認証が必要です。たとえば、基本認証を使用して、ユーザーにAuthorization: {base64 user:password}ヘッダーを送信させることができます。

于 2013-07-23T22:53:17.700 に答える
0

ユーザーが許可されていることを確認するfpassthruを介してphpファイルから画像を提供します

たとえば、"?image=mysecretimage.png" のようなクエリ文字列を受け入れる php ファイル getimage.php があり、ユーザーが許可されている場合はそれを渡します。このルートを使用する場合は、画像ファイルのみが通過するように適切な予防措置を講じるように注意してください。

于 2013-07-23T22:56:19.257 に答える