0

おそらく、特定のタイプの Web サイト/アプリケーションに固有のものであっても、少し一般的な質問ですが、関係なく試してみてください。現在のプロジェクトのサムネイルをキャッシュする必要があるかどうかについて少し混乱していますが、通常はそうしますが、このプロジェクトについてはわかりません。理解を深めるために、私の状況をよりよく説明します。

私は、有名人、ニュース、スポーツの写真用のストックフォト Web サイトを持っており、許可されたクライアント (新聞と雑誌) に私たちのライブラリ全体を表示しています。これらの写真にはある程度の価値があり、大きな写真は Amazon S3 またはルート ディレクトリの上に非表示にし、有効期限が切れてハッシュ化されたリンクを使用できるようにするための優れた手段を講じているため、キャッシュを追加して写真を危険にさらしたくありません。不適切なキャッシュを追加するべきではない場合。一般的なユーザーは、写真を検索しても二度と表示されない場合や、写真をお気に入りに保存して 1 日に 2 回表示される場合があります。ユーザーは、数分で 10,000 枚の写真を閲覧することもできます。

私の質問は; キャッシュをまったく持たないか、1 時間または 1 日など、キャッシュを制限する必要がありますか? 写真のキャッシュの有効期限を設定した場合、クライアントはブラウザの「キャッシュされた画像」の下にアクセスできますか? 貴重な写真をキャッシュすることに関して、他にセキュリティ上の問題はありますか?

私はスクリーン グラブ、印刷、およびルールについて知っています。盗まれたくない場合は、ウェブに載せないでください。ただし、セキュリティと速度のために、アプリケーションでできる限りのことをしたいと考えています。

PHP (5.2.17) を使用して、Amazon からクライアントのブラウザーに画像をロードしていReadFile()ます<img src="loadImage.php?p=2342dfsfsdfwf2dfsf">

キャッシュの種類を明確にするには:

<?php
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
header("Content-Type: image/jpeg");
readfile($url);
?>
4

1 に答える 1

2

画像のセキュリティを非常に心配している場合は、より多くの帯域幅を使用する (および読み込み時間が遅くなる) ことを犠牲にして、画像をキャッシュしないことをお勧めします。セキュリティよりも帯域幅の使用に関心がある場合は、それらをキャッシュしてください。

ただし、それらが本当にサムネイルである場合、サイズが小さい、品質が低いなどの場合、ユーザーにとってほとんど価値がないはずです。1 つの解決策は、画像に透かしを入れることです。

理論的には、ブラウザーのキャッシュ ( http://protechgeek.com/how-to-extract-images-from-browser-cache/ )から画像を抽出することは可能であるため、キャッシュされている場合は取得できます。さらに簡単なことに、あなたが言ったように誰かが画面をつかむか、右クリックしてコピー/貼り付けすることができます。透かしはこれに対する唯一の解決策です。

tl;dr

私の意見では、最小限のセキュリティの向上のために余分な帯域幅のヒットとロード時間の増加に値するものではないと思います. 代わりに透かしを使用してください。ストックフォトのウェブサイトの大部分が透かしを使用しているのには理由があります.透かしは、誰かが画像を完全に盗むのを防ぐ唯一の方法です.

于 2012-07-23T02:47:24.843 に答える