2

画像とPDFファイルのホットリンクを防ぐために.htaccessファイルにこのコードがありますが、通常の外部リンクが機能しなくなります。私のhtaccessファイル:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mywebsite.com/.*$ [NC]
RewriteRule .*\.(gif|jpg|pdf|png)$ http://www.mywebsite.com/images/notallowed.jpe [NC,R,L]

問題は、pdf ファイルを示す正当な外部リンクによって、pdf ファイルの代わりに置換画像が表示されることです。これは正常ですか、それとも私が間違っている/欠けていることは何ですか? 前もって感謝します。

4

2 に答える 2

2

私はこれを試してみます...

RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^https?://(?:www\.)?mywebsite\.com(?:$|/) [NC] [OR]
# Repeat the next line as needed for each allowed site
RewriteCond %{HTTP_REFERER} !^https?://(?:www\.)?allowedsite1\.com(?:$|/) [NC] [OR]
RewriteCond %{HTTP_REFERER} !^https?://(?:www\.)?allowedsite2\.com(?:$|/) [NC]
RewriteRule ^(.*)\.(gif|jpg|pdf|png) http://www.mywebsite.com/images/notallowed.jpe [NC,R,L]

許可された各サイトを手動で追加するのは少し不便かもしれませんが、ある程度は制御できるはずです...他の考えられる欠点は、たとえば、未加工の画像にアクセスする人々が、サイト。

例:http://www.mywebsite.com/logo.pngブラウザに入力してファイルを直接logo.png表示しようとしても機能しません、 をクリックしても同じファイルを表示するのに問題はありません<a href="http://www.mywebsite.com/logo.png"><img src="http://www.mywebsite.com/logo.png" /></a>

それが誰かを助けることを願っています...

于 2013-04-19T20:39:50.880 に答える