1. Suponga que el nombre de dominio del host permitido para vincular a la imagen es: www.test.com
2. Modifique httpd.conf
SetEnvIfNoCase Referer "^http://www.test.com/" local_ref=1
<FilesMatch ".(gif|jpg)">
Orden Permitir, Denegar
Permitir desde env=local_ref
</FilesMatch>
Esta sencilla aplicación no sólo puede resolver el problema de los enlaces directos de imágenes, sino que con ligeras modificaciones también puede evitar el problema de los enlaces directos de cualquier archivo.
Cuando se utiliza el método anterior para vincular imágenes desde un host no especificado, la imagen no se mostrará. Si desea mostrar una imagen de "enlace activo prohibido", podemos usar mod_rewrite para lograrlo.
Primero, al instalar Apache, agregue el parámetro --enable-rewrite para cargar el módulo mod_rewrite.
Suponiendo que la imagen de "vínculos activos prohibidos" es abc.gif, podemos configurarla en httpd.conf de esta manera:
RewriteEngine en
ReescribirCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://( www.)?test.com /.*$ [NC]
RewriteRule .(gif|jpg)$ http://www.163.com/404.htm";//La dirección devuelta por el enlace activo
$okaysites = array(" http://www.163.com/","http://163.com "); //Lista blanca
$ADMIN[url_1] = " http://www.163.com/download/";//Ubicación de descarga 1
$ADMIN[url_2] = "";//Descargar ubicación 2, etc.
$referidor = $HTTP_REFERER;
si($referir) {
$sí = 0;
while(lista($dominio, $subarreglo) = cada uno($buenos sitios)) {
if (ereg($subarray,"$refer")) {
$sí = 1;
}
}
$theu = "url"."_"."$sitio";
si ($ADMIN[$theu] AND $sí == 1) {
header("Ubicación: $ADMIN[$theu]/$file");
} demás {
header("Ubicación: $ADMIN[predeterminado]");
}
} demás {
header("Ubicación: $ADMIN[predeterminado]");
}
?>
Uso: Guarde el código anterior como dao4.php