Trucos para tu .htaccess: Como evitar el Hotlink
Primero seguramente son pocos los que saben que es el .htaccess pues bien aquí una explicación rápida:
Es un archivo de configuración en un servidor Web, y contiene comandos en el lenguaje del servidor que le indican cómo debe comportarse en ciertas situaciones. Alguno de los usos más comunes de un archivo htaccess son la restricción del acceso a determinados archivos o carpetas en Internet (o en una intranet) mediante el uso de contraseñas. Adicionalmente, los htaccess se usan para redirigir usuarios automáticamente, para bloquear o permitir el acceso al servidor a ciertas direcciones de IP, y para llamar páginas de error personalizadas en lugar de las páginas de error 404 standard del servidor. Los servidores Web Apache, y otros servidores que cumplimentan las normas del NCSA pueden usar htaccess.
El hotlink o Hotlinking es uno de los dolores más grande que vamos encontrar cuanto tenemos nuestra web en un servidor que estas pagando es común que al subir muchas imágenes varios usuarios las tomen para ponerlas por todos lados, si bien es complicado evitar esto gracias al .htaccess se puede evitar todo sabiendo que código colocar.
Por lo regular los .htaccess traen este código por default:
[sourcecode language="java"]
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</ifmodule>
[/sourcecode]
Se puede hacer de dos formas integrando todo de un solo golpe lo cual luego se hace confuso cuando tienes más de una modificación o simplemente separando los códigos que vamos a usar, ahora bien el código para evitar el hotlink es el siguiente:
[sourcecode language="java"]
<ifmodule mod_rewrite.c>
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://tublog.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://tublog.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tublog.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tublog.com/.*$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp)$ – [F,NC,L]
</ifmodule>
[/sourcecode]
Ese código evita que se vean las imágenes que tenemos cargadas en nuestro servidor desde cualquier parte obviamente donde dice tublog.com va la dirección de tu web como la pida tanto con www como sin ella, pero cuando tus lectores usan servicios como Google Reader o FeedBurner obviamente usando el código anterior también esos servicios van a sufrir el bloqueo de imagen por eso se deben agregar para darles acceso así como también cualquiera otra web que quisieras que pueda hacer hotlink a tu web, para eso solo tenemos que agregar el código:
[sourcecode language="java"]
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://[^/.]\.feedburner\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://feeds2.feedburner.com/Taironcave$ [NC]
[/sourcecode]
Teniendo al final un código así:
[sourcecode language="java"]
<ifmodule mod_rewrite.c>
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://tublog.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://tublog.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tublog.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tublog.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://[^/.]\.feedburner\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://feeds2.feedburner.com/Taironcave$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp)$ – [F, NC, L]
</ifmodule>
[/sourcecode]
Pero también podemos usar el hotlink para promocionar nuestra web es fácil y créanme que hace enojar a mas de una personas la forma es simple, primero creamos la imagen que deseamos que aparezca en lugar de la imagen original, para evitar el consumo de ancho de banda por esta la podemos subir a Photobucket o algún otro servicio parecido, por ejemplo la mía es:
Y el código para hacer eso quedaría:
[sourcecode language="java"]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp)$ http://direcciondelaimagen.com/imagen.gif [R,NC,L]
[/sourcecode]
Finalmente y después de tantos saltos tendremos un .htaccess así:
[sourcecode language="java"]
<ifmodule mod_rewrite.c>
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://tublog.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://tublog.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tublog.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tublog.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://[^/.]\.feedburner\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://feeds2.feedburner.com/Taironcave$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp)$ http://direcciondelaimagen.com/imagen.gif [R,NC,L]
</ifmodule>
[/sourcecode]
Como ven después de meter tanto código podremos ahorrar una buena cantidad de ancho de banda en mi caso tenía un consumo por hotlink aproximado de casi 12 gb al mes, gracias a la edición del .htaccess me los estoy ahorrando. Si tiene dudas ahí están los comentarios si no también les dejo mi código .htaccess para que lo vean.
[sourcecode language="java"]
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://taironcave.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://taironcave.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.taironcave.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.taironcave.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://[^/.]\.feedburner\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://feeds2.feedburner.com/Taironcave$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp)$ http://i55.photobucket.com/albums/g154/Dark_Tairon/no-hotlink-bitches.gif [R,NC,L]
</IfModule>
[/sourcecode]

Hola muy bueno tu aporte, pero me gustaría saber en que parte de la plantilla se pegaría el código es que soy muy novata en esto y aunque aun no pago por mi pagina web lo estoy pensando hacer en un futuro y esta informacion esta muy interesante, tambien seria bueno saber si este codigo se puede utilizar en mi cuenta blogger, muchas gracias ^^
no va en la plantilla va en tu archivo .htaccess tienes que tener un host con acceso a tu cpanle o plesk cual sea el caso y no funciona en blogger por que simplemente no tiene utilidad en blogger.
Gracias.. tanto el de evitar el hotlinking como los trucos del htacess me han servido y funcionan ok
gracias!!
amigo fenomenal el codigo mil gracias
estoy sufriendo me estas supendiendo la cuenta si tienes algunos otros consejos los resivo con mucho agrado mi msn es ric-once0417@hotmail.com
si tienes algo para aconsejarme lo resivo estoy en problemas
mil gracias
funciona de maraviilla!
Hola tengo problemas de hotlink con las imagenes de mi web, las tengo publicadas en una web externa para comercializar en linea y otro usuario esta escribiendo el enlace completo hacia una de mis imagenes ubicada en mi web, el problema es que ya intente realizar las modificaciones a mi archivo .htaccess pero bloquealo pero tambien me bloquea las imagenes que tengo publicadas para vender, habra alguna manera de indicarle al .htaccess que solo bloquee links que hayan sido copiados y pegados en el navegador? espero darme a entender
@Mely no, por medio de .htaccess no pero puedes permitir que algunas webs las vean es decir si tienes imagenes en tu host y las usas para vender en otra web puedes decirle a .htacces que xxx.com te deje verlas (xxx.com es un ejemplo)
Gracias por tu amable respuesta, pasa que ambos estamos en el mismo portal de ventas es decir ambos pertenecemos a la misma xxx.com la única diferencia es que el sistema le asigna un numero a sus publicaciones distinto al mio, es decir no puedo bloquear o permitir xxx.com como me dices pues pasaria lo mismo con mis imagenes en el portal de ventas. Este usuario no usa mis imagenes visiblemente sino la direccion completa donde tengo ubicada mi imagen en mi servidor y se las da a conocer a sus futuros clientes para que accesen a verla. Saludos!