1, assume the host domain name of the link picture: www.111cn.net
2. Modify Httpd.conf
Setenvifnocase Referer "^http://www.111cn.net/" local_ref=1
<filesmatch ". (gif|jpg) ">
Order Allow,deny
Allow from Env=local_ref
</FilesMatch>
This simple application can not only solve the problem of picture hotlinking, a little modification can also prevent any file hotlinking download problems.
Using the above method when you connect a picture from a host that is not specified, the picture will not display, and if you want to display a "no hotlinking" picture, we can use the mod_rewrite to achieve it.
First, add the--enable-rewrite parameter to load the Mod_rewrite module when you install Apache.
Suppose the "Prohibit hotlinking" picture is abc.gif and we can configure this in httpd.conf:
Rewriteengine on
Rewritecond%{http_referer}!^$
Rewritecond%{http_referer}!^http://(www.)? 111cn.net/.*$ [NC]
Rewriterule. (gif|jpg) $/xrssfile/2008-4/1/20084111376430.gif [r,l]
When the host's picture is hotlinking, will only see abc.gif this "forbids hotlinking" the picture!
A piece of burglar-linked PHP code
<?php
$ADMIN [Defaulturl] = "http://www.163.com/404.htm";//Hotlinking return address
$okaysites = Array ("http://www.163.com/", "http://163.com"); White List
$ADMIN [Url_1] = "http://www.163.com/download/";//Download Location 1
$ADMIN [url_2] = "";//download location 2, and so on
$reffer = $HTTP _referer;
if ($reffer) {
$yes = 0;
while (the list ($domain, $subarray) = each ($okaysites)) {
if (Ereg ($subarray, "$reffer")) {
$yes = 1;
}
}
$theu = "url". " _"." $site ";
if ($ADMIN [$theu] and $yes = 1) {
Header ("Location: $ADMIN [$theu]/$file");
} else {
Header ("Location: $ADMIN [Defaulturl]");
}
} else {
Header ("Location: $ADMIN [Defaulturl]");
}
?>
How to: Save the above code as dao4.php