友人だけが見ることができる写真を投稿できるソーシャル ネットワーキング Web サイトを作成しています。写真というフォルダに画像を保存しています。画像をhtmlタグimgでのみ表示したいので、誰かがブラウザに直接img URLを入力すると、403/404などを返すようにします。htaccessでこれを行うにはどうすればよいですか?
2 に答える
私が知っている限り (他の方法を知っている場合は誰かが私を修正してください)、htaccess ではそれは不可能です。
代わりに、PHP などで Cookie 認証を行ってリクエスタが誰であるかを確認し、画像の所有者とその友人/共通の友人などを確認し、画像の表示が許可されている場合はそのように画像を提供する必要があります。 . ただし、これは非常に負担のかかるプロセスです (静止画像をそのまま提供するのは十分に困難です!)。そのため、一般的な手法は、長くて厄介な URL を使用して、誰かに推測されないようにし、そのままにしておくことです (つまり、防止しようとしている)。
または、再び PHP を使用して、HTTP_REFERER ヘッダーを確認します。ページ内からリクエストする場合は、ページの URL に設定されます。それ以外の場合は、空白またはその他になります。ただし、これは信頼できません。一部のブラウザはまったく送信せず、とにかく簡単に偽造できます。
あるいは、最初のページ読み込みから 10 秒以内にのみ画像をリクエストできる時間枠を強制することもできます。ただし、これは接続が遅い人にとっては悪いことです。
基本的に、誰かがスクリーンショットを撮ったり、多くの画像サイトで人気のあるスクリーンショットを撮ったりするのを止めるものは何もありません。