Para evitar el robo de imágenes (hotlinking) mediante enlaces (link) existen varias alternativas, una de ellas y muy eficaz es modificando el archivo .htaccess.
Entiéndase por robo de imágenes cuando desde otra web o blog para mostrar una imagen de tu sitio utilizan el enlace a dicha imagen consumiendo el Bandwidth (ancho de banda) de tu servidor. En el caso de El Signo sucedió que el consumo de ancho de banda se disparó hasta las nubes cuando publicamos un tutorial de jDownloader, nos hicieron el famoso “copy & paste” o “copiar y pegar” desde sitios varios… Nuestro sitio como la mayoría permite bajo la licencia Creative Commons publicar, modificar y distribuir la obra sitando al autor con un enlace, muchos confunden eso con copiar y pegar alegremente todo y no es así, si hay imágenes deben alojarlas en otro servidor.
Buscando la solución la encontré en el blog de Tinchio.
Volviendo a como evitarlo mediante htaccess hay que incluir el siguiente código:
RewriteCond %{HTTP_REFERER} !^http://tusitio.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://tusitio.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tusitio.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tusitio.com$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ http://img208.imageshack.us/img208/397/noenlazar.jpg [R,NC,L]
Este código muestra una imagen alternativa si la referecia no es de tu sitio; en nuestro caso subimos una imagen a imageshack.us.
Luego el problema vino con los lectores RSS como por ejemplo el de Google y Yahoo que tampoco mostraban las imágenes provocando un efecto colateral no deseado pero la solución es simple, basta con agregar los sitios a los cuales les permites mostrar las imágenes alojadas en tu servidor.
El código completo para un blog de WordPress quedaría así:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
RewriteCond %{HTTP_REFERER} !^http://tusitio.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://tusitio.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tusitio.com.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tusitio.com.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/reader/view/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/reader/m/view/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://google.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://google.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.yahoo.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://yahoo.com$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ [R,NC,L]
</IfModule>
# END WordPress
No significa esto que sólo sirva para Wordpress, sirve para todos los sitio alojados en servidores GNU/Linux Apache.
No soy partidario de mostrar como alternativa una imagen agresiva, creo que mejor es explicar, por eso optamos por la siguiente:




Muy buena idea.
Fijate que yo recibo tus posts por suscripción y todavía me sale la imagen alternativa en esos emails.
Salute.
Temía que eso pudiese pasar, gracias por avisarme. Creo que debo suscribirme para estar más atento.