1. Suponha que o nome de domínio do host com permissão para vincular à imagem seja: www.test.com
2. Modifique httpd.conf
SetEnvIfNoCase Referer "^http://www.test.com/" local_ref=1
<FilesMatch ".(gif|jpg)">
Ordem Permitir, Negar
Permitir de env=local_ref
</FilesMatch>
Este aplicativo simples pode não apenas resolver o problema de hotlinking de imagens, mas com pequenas modificações também pode evitar o problema de hotlinking de quaisquer arquivos.
Ao usar o método acima para vincular imagens de um host não especificado, a imagem não será exibida. Se você quiser exibir uma imagem "hot link proibido", podemos usar mod_rewrite para conseguir isso.
Primeiro, ao instalar o apache, adicione o parâmetro --enable-rewrite para carregar o módulo mod_rewrite.
Supondo que a imagem "hot linking proibido" seja abc.gif, podemos configurá-la no httpd.conf assim:
RewriteEngine on
ReescreverCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://( www.)?test.com /.*$ [NC]
RewriteRule .(gif|jpg)$ http://www.163.com/404.htm";//O endereço retornado pelo hot link
$okaysites = array(" http://www.163.com/","http://163.com ");
$ADMIN[url_1] = " http://www.163.com/download/";//Local de download 1
$ADMIN[url_2] = "";//Baixar local 2 e assim por diante
$reffer = $HTTP_REFERER;
if($referir) {
$sim = 0;
while(lista($domínio, $subarray) = cada($okaysites)) {
if (ereg($subarray,"$reffer")) {
$sim = 1;
}
}
$theu = "url"."_"."$site";
if ($ADMIN[$theu] AND $sim == 1) {
header("Local: $ADMIN[$theu]/$arquivo");
} outro {
header("Local: $ADMIN[defaulturl]");
}
} outro {
header("Local: $ADMIN[defaulturl]");
}
?>
Uso: Salve o código acima como dao4.php