El Hotlink es una practica habitual por gente que comienza su sitio web, quizás por desconocimiento, quizás porque se quiere pasar de vivo al hacerlo, pero que afecta al sitio web, lo hace ya que le consume el ancho de banda y en muchos casos se da porque la otra web ha copiado artículos completos de tu sitio web y ha enlazado la imagen.
Este es un código que se pone en el .htaccess del sitio web que quieran proteger, WEBS NO PERMITIDAS
RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://(.+\.)?web1\.com/ [NC] RewriteCond %{HTTP_REFERER} ^http://(.+\.)?otraweb\.com/ [NC] RewriteCond %{REQUEST_FILENAME} !hotlink.jpg$ RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://www.elcodigofuente.com/hotlink.jpg [L]
En el ejemplo de arriba estamos bloqueando 2 websites, y además le mostramos una imagen cuando hacen hotlink, el efecto es que en todas las imágenes que estén esas 2 webs y que enlacen a una imagen en tu servidor, verán la imagen «hotlink.jpg», ya depende de ti porque imagen quieres reemplazarlas, ya sea por publicidad hacia tu web o una imagen de advertencia.
Si lo que quieres es poner WEBS PERMITIDAS, o sea, bloquear a todos menos a estas
RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+.)?elcodigofuente.com/ [NC] RewriteCond %{HTTP_REFERER} !^http://(.+.)?miweb1.com/ [NC] RewriteCond %{HTTP_REFERER} !^http://(.+.)?miweb2.com/ [NC] RewriteCond %{HTTP_REFERER} !^http://(.+.)?google.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{REQUEST_FILENAME} !hotlink.jpg$ RewriteRule .*.(jpe?g|gif|bmp|png)$ http://www.elcodigofuente.com/hotlink.jpg [L]
Con este código muestro la imagen a todos los sitios webs menos los listados previamente (elcodigofuente.com, miweb1, miweb2, google) y la última línea (!^$) significa que si permitimos la visualización por el usuario desde el navegador de manera directa. la línea RewriteCond %{REQUEST_FILENAME} !hotlink.jpg$ permite que solo demos esa imagen y por tanto evitar un Bucle al pedirla.