▼ [Apache] 画像への直接リンクを防ぐ (補足)
2007/07/28 23:45
画像への直接リンクを防ぐ (2007/07/23) の補足。
RFC 2616 で Referer: は以下の通り定義されており、絶対URIの他、相対URIを含めることも許されている。
Referer = "Referer" ":" ( absoluteURI | relativeURI )RFC 2616: Hypertext Transfer Protocol (HTTP/1.1), 14.36 Referer
したがって、
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www\.example\.jp/ [NC]
RewriteCond %{REQUEST_URI} !^/tmp/eroero\.gif$
RewriteRule \.(jpg|png|gif)$ http://www.example.jp/tmp/eroero.gif [R,NC]
は、下記の通りとするべきである。
RewriteCond %{HTTP_REFERER} ^http://
RewriteCond %{HTTP_REFERER} !^http://www\.example\.jp/ [NC]
RewriteCond %{REQUEST_URI} !^/tmp/eroero\.gif$
RewriteRule \.(jpg|png|gif)$ http://www.example.jp/tmp/eroero.gif [R,NC]
なお、(アンチウイルスソフトによっては) Referer: に blocked by XXXX とかいう訳のわからん文字列を突っ込んできます
との指摘があったが、今回の修正で救われる。とはいえ、これはRFCに違反するそのベンダと利用者の責任であるため、積極的に救う必要は無いだろう。
▼ コメント(0件)
- TB-URL(確認後に公開) http://diary.asuka.net/026/tb/
