ファイルの直接呼び出しを防止する

ファイルの直接呼び出しを防止する

これが可能かどうかはわかりません。私は Apache サーバーを使用しています。次の場所にあるファイルの場合:

http://www.example.com/dir/img.jpg
  • この画像をそのディレクトリから呼び出されるページに読み込むことを許可します。
  • この画像を直接読み込むことを禁止します。つまり、上記の URL は読み込まれません。
  • 他のページからこの画像へのリンクを禁止する

目的は、ファイルが特定のページにのみ表示可能であり、直接表示できないようにすることです。これは可能ですか?

答え1

からApache ドキュメント:

ブロックされたインライン画像

説明: 以下のとおりです 翻訳会社一部のページにはインライン GIF グラフィックがあります。これらのグラフィックは素晴らしいので、他のページにはハイパーリンクを介して直接組み込まれています。この方法はサーバーに無駄なトラフィックを追加するため、好ましくありません。

解決策: 画像が埋め込まれることを完全に防ぐことはできませんが、少なくともブラウザが HTTP Referer ヘッダーを送信するケースを制限することはできます。

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC]
RewriteRule .*\.gif$        -                                    [F]

RewriteCond %{HTTP_REFERER}         !^$
RewriteCond %{HTTP_REFERER}         !.*/foo-with-gif\.html$
RewriteRule ^inlined-in-foo\.gif$   -                        [F]

関連情報