ホットリンクに対する予防措置として、次のルールを使用して、間違ったリファラーを持つ人々を実際の画像ではなくロゴにリダイレクトしています。
#Naughty hotlinkers
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !sitedomain\.com [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteRule (.*) assets/hotlinked/logo.jpg [L]
画像の場合、うまく機能します。
私は、リクエストをフィルタリングして画像を提供するために使用されたphpファイルを指しているsrcを使用して、ユーザーのコンテンツに埋め込まれた画像を保持するための恐ろしいラッピングコードを作成中です。新しい画像はこの方法で提供されなくなりますが、以前にアップロードされた画像が古いアドレスから引き続き利用できるようにする必要があります。
画像にアクセスできる必要がありますが、このファイルもホットリンクから保護する必要があります。
私はこれを試しました:
#Naughty hotlinkers
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$|.*gp2\.php.* [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !sitedomain\.com [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteRule (.*) assets/hotlinked/logo.jpg [L]
しかし、サイコロはありません。
保護したいファイルは、画像の src で次のように使用されます。
http://sitedomain/legacy/gp2.php?p=long_stupid_string
ここで私が間違っている愚かなことを教えてください。
編集:
ここでホットリンク防止をテストしています:
(イメージ)こちら
(php)とここ