Generalidades
Este artículo explica cómo utilizar un archivo .htaccess para evitar que las imágenes sean enlazadas directamente desde un sitio web diferente.
Antecedentes
El hotlinking (o robo de ancho de banda) es un problema común. Ocurre cuando las personas enlazan a archivos e imágenes en un servidor diferente y los muestran en tu propio sitio web, utilizando el ancho de banda del propietario original a expensas de este.
Evitar enlaces directos en el panel
Si no deseas utilizar el método manual, puedes evitar el hotlinking habilitándolo en el panel en la página Htaccess/WebDAV. Da clic en tu dominio y continúa con los pasos para habilitar esta función.
Evitar el hotlinking con un archivo .htaccess
Las siguientes secciones te guiarán a través del proceso de creación y edición de un archivo .htaccess para proteger el contenido de tu sitio.
Crear un archivo .htaccess
Revisa este artículo para obtener instrucciones sobre cómo crear un archivo .htaccess en tu servidor web. Si el archivo ya existe, consulta los siguientes artículos para obtener instrucciones sobre cómo actualizarlo (dependiendo de si estás usando un cliente FTP o SSH):
Los ejemplos que se muestran a continuación se pueden introducir en el archivo .htaccess exactamente como aparece. Solo si el ejemplo contiene código resaltado, debes cambiarlo por tu URL o nombre de archivo real.
Agregar código a tu archivo .htaccess
Redirigir a una imagen de su elección
-
Este ejemplo hace que cualquier imagen con enlace directo se redirija a una imagen de tu elección, lo que explica que el enlace directo está deshabilitado en tu servidor.
RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https://(www\.)?example.com/.*$ [NC] RewriteRule \.(gif|jpg)$ https://www.example.com/hotlink.gif [R,L]
Bloquear dominios específicos
-
Este ejemplo no puede cargar un archivo vinculado en el sitio de terceros, pero no genera ningún error.
RewriteEngine On RewriteCond %{HTTP_REFERER} ^https://(www\.)?example\.com(/.*)*$ [NC,OR] RewriteRule \.(jpeg|JPEG|jpe|JPE|jpg|JPG|gif|GIF|png|PNG|mng|MNG)$ - [F]
Para proteger otros recursos, como archivos de video y audio, agrega extensiones adicionales al bloque de paréntesis RewriteRule.
Permitir solo dominios específicos
-
Este ejemplo solo permite que sitios específicos carguen contenido. Por ejemplo, el código siguiente permite que solo example.com y dreamhost.com carguen el contenido. Todos los demás sitios que intentan solicitar algún recurso no pueden cargarlo, pero no se generan errores:
RewriteEngine On RewriteCond %{HTTP_REFERER} !^https://(www\.)?dreamhost\.com(/.*)*$ [NC] RewriteCond %{HTTP_REFERER} !^https://(www\.)?example\.com(/.*)*$ [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteRule \.(jpeg|gif|png)$ - [F]
Para más ejemplos de cómo bloquear el tráfico por IP o dominio, revisa el artículo Negar el acceso.