1. Supposons que le nom de domaine hôte autorisé à créer un lien vers l'image est : www.test.com
2. Modifiez httpd.conf
SetEnvIfNoCase Referer "^http://www.test.com/" local_ref=1
<FilesMatch ".(gif|jpg)">
Commande Autoriser, Refuser
Autoriser depuis env=local_ref
</FilesMatch>
Cette application simple peut non seulement résoudre le problème du hotlinking des images, mais avec de légères modifications, elle peut également éviter le problème du hotlinking de tous les fichiers.
Lorsque vous utilisez la méthode ci-dessus pour lier des images provenant d'un hôte non spécifié, l'image ne sera pas affichée. Si vous souhaitez afficher une image "lien chaud interdit", nous pouvons utiliser mod_rewrite pour y parvenir.
Tout d’abord, lors de l’installation d’Apache, ajoutez le paramètre --enable-rewrite pour charger le module mod_rewrite.
En supposant que l'image "hot linking interdite" est abc.gif, nous pouvons la configurer dans httpd.conf comme ceci :
RewriteEngine on
RéécritureCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://( www.)?test.com /.*$ [NC]
RewriteRule .(gif|jpg)$ http://www.163.com/404.htm";//L'adresse renvoyée par le lien dynamique
$okaysites = array(" http://www.163.com/","http://163.com "); //Liste blanche
$ADMIN[url_1] = " http://www.163.com/download/";//Emplacement de téléchargement 1
$ADMIN[url_2] = "";//Emplacement de téléchargement 2, et ainsi de suite
$reffer = $HTTP_REFERER ;
si($reffer) {
$oui = 0 ;
while(list($domain, $subarray) = each($okaysites)) {
if (ereg($subarray,"$reffer")) {
$oui = 1 ;
}
}
$theu = "url"."_"."$site";
if ($ADMIN[$theu] AND $yes == 1) {
header("Emplacement : $ADMIN[$theu]/$file");
} autre {
header("Emplacement : $ADMIN[defaulturl]");
}
} autre {
header("Emplacement : $ADMIN[defaulturl]");
}
?>
Utilisation : Enregistrez le code ci-dessus sous dao4.php