A PHP Error was encountered

Severity: Notice

Message: Only variable references should be returned by reference

Filename: core/Common.php

Line Number: 257

Que Es El Hotlinking Y Como Evitarlo. Utilidades. Run Software.

Que es el hotlinking y como evitarlo

El término hotlinking Indica que alguien está vinculando de forma directa a los archivos, imágenes, vídeos, que están alojados en otro sitio web en lugar de guardar una copia de esos archivos en el sitio web en el que serán mostrados.

Un ejemplo sería el uso de la etiqueta <img> para visualizar una imagen JPG que se encuentra alojada en www.TuSitioWeb.com para ilustrar una entrada de un blog cuya url podría ser www.OtroSitioWeb.com, de tal forma que ahora esa imagen aparecerá en www.OtroSitioWeb.com pero estará consumiendo parte del ancho de banda contratado por el propietario de www.TuSitioWeb.com, suponiendo esta práctica un coste para el propietario de www.TuSitioWeb.com, ya que puede incluso hacer caer el servidor por un elevado número de peticiones externas.

El ancho de banda es la cantidad de datos transferidos desde un sitio web a la computadora del usuario de esa web, cuando se ve una página web, se está utilizando el ancho de banda de ese sitio para ver los archivos que componen esa web, si alguna de las imágenes que componen esa web, está alojada en www.TuSitioWeb.com, sucederá que cuando alguien visite www.OtroSitioWeb.com, parte de los datos transferidos provendrán de www.TuSitioWeb.com, es como si alguien conectará un enchufe, utilizara electricidad sin tu consentimiento y tu estuvieras pagando por ello.

 

hotlinking htaccess

 

¿Cómo evitar el Hotlinking?

Se puede evitar que otros lleven a cabo la práctica del hotlinking utilizando archivos alojados en nuestros servidores, mediante la configuración del archivo .htaccess de nuestro servidor apache.

Ejemplo: Su URL es www.TuSitioWeb.com. Para evitar el hotlinking de las imágenes desde otros sitios y mostrar una imagen de advertencia llamada advertencia.gif, añadir este código en el archivo htaccess. 

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?TuSitioWeb\.com/ [NC]

RewriteCond %{HTTP_REFERER} !^$

RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://www.TuSitioWeb.com/advertencia.gif [L]

La primera línea del código activa la reescritura. La segunda bloquea cualquier sitio que no sea su propia url TuSitioWeb.com. La cláusula [NC] significa "no case, en ningún caso", lo que significa que debe coincidir con la url sin importar mayúsculas o minúsculas. La tercera línea es para permitir referencias vacías. La última línea indica las extensiones de archivo que serán reemplazados por la imagen advertencia.gif. 

Para evitar el hotlinking de las imágenes desde todos los sitios excepto a los buscadores más populares para que así no afectar al posicionamiento, el código a añadir en el htaccess es igual que en el ejemplo anterior con algunas modificaciones. 

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?TuSitioWeb\.com/ [NC]

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google\. [NC]

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?bing\. [NC]

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yahoo\. [NC]

RewriteCond %{HTTP_REFERER} !^$

RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://www.TuSitioWeb.com/advertencia.gif [L]

Para evitar hotlinking proveniente únicamente de ciertos dominios específicos, por ejemplo de myspace, blogspot y wordpress, el código que se debe añadir al htaccess es el siguiente: 

RewriteEngine On

RewriteCond %{HTTP_REFERER} ^http://(.+\.)?myspace\.com/ [NC,OR]

RewriteCond %{HTTP_REFERER} ^http://(.+\.)?blogspot\.com/ [NC,OR]

RewriteCond %{HTTP_REFERER} ^http://(.+\.)?wordpress\.com/ [NC]

RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://www.TuSitioWeb.com/advertencia.gif [L]

Se pueden agregar tantos dominios diferentes como sea necesario. Cada línea RewriteCond debe terminar con las cláusulas [NC, OR]. NC significa "no case, en ningún caso", para ignorar mayúsculas y minúsculas. La cláusula OR indica que coincide con este dominio o con el de la siguiente línea. El último dominio enumerado omite la cláusula OR. La última línea indica las extensiones de archivo que serán reemplazados por la imagen advertencia.gif.

Por último indicar que también se puede visualizar un código de error 403 Forbidden en lugar de una imagen de advertencia, para ello reemplazar la última linea de los ejemplos anteriores por la siguiente línea de código.

RewriteRule .*\.(jpe?g|gif|bmp|png)$ - [F]