1. イメージへのリンクが許可されているホスト ドメイン名はwww.test.comであるとします。
2. httpd.conf
SetEnvIfNoCase Referer "^http://www.test.com/" local_ref=1
を変更します。
<FilesMatch ".(gif|jpg)">
注文の許可、拒否
env=local_ref から許可する
</ファイルマッチ>
このシンプルなアプリケーションは、画像のホットリンクの問題を解決できるだけでなく、わずかな変更を加えることでファイルのホットリンクの問題を防ぐこともできます。
上記の方法で指定以外のホストから画像をリンクした場合、画像は表示されませんが、「ホットリンク禁止」の画像を表示したい場合は、mod_rewriteを使用することで実現できます。
まず、Apache をインストールするときに、 --enable-rewrite パラメータを追加して mod_rewrite モジュールをロードします。
「ホット リンク禁止」の画像が abc.gif であると仮定すると、httpd.conf で次のように設定できます
。
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://( www.)?test.com /.*$ [NC]
RewriteRule .(gif|jpg)$ http://www.163.com/404.htm";//ホット リンクによって返されるアドレス
$okaysites = array(" http://www.163.com/","http://163.com ");
$ADMIN[url_1] = " http://www.163.com/download/";//ダウンロード場所 1
$ADMIN[url_2] = "";//ダウンロード場所 2 など
$reffer = $HTTP_REFERER;
if($reffer) {
$はい = 0;
while(list($domain, $subarray) = each($okaysites)) {
if (ereg($subarray,"$reffer")) {
$はい = 1;
}
}
$theu = "url"."_"."$site";
if ($ADMIN[$theu] AND $yes == 1) {
header("場所: $ADMIN[$theu]/$file");
} それ以外 {
header("場所: $ADMIN[defaulturl]");
}
} それ以外 {
header("場所: $ADMIN[defaulturl]");
}
?>
使用法: 上記のコードを dao4.php として保存します。