El hotlink es, a dia de hoy, un problema para los creadores de contenido. A mi no me importa que me cojan una imagen para colgarla en una página, es más, creo que en cierto modo ayuda a que se extienda por ahí mis obras. Pero el problema del hotlinking es más grave, porque entran en juego otros factores como el ancho de banda disponible para una página. Para los que no teneis muy claro qué es el hotlinking, os pongo un ejemplo:
Imagina que tienes una pagina: "Mipaginadelahostia.com". Ok,ahora, tu navegas por mi página y ves una imagen que te encanta, y quieres ponerla en la tuya. Puedes hacer dos cosas:
1. Te bajas la imagen, la subes a tu server y pones el tag como siempre para mostrar la imagen.
2. No tienes server propio, no tienes ni idea o lo que sea, así que coges y pones el tag así: img xsrc="imagen.jpg"
Pues la segunda manera es lo que se llama hotlinking, un problema, porque cada vez que alguien entra en tu página, la imagen se pide a mi servidor, por lo que se gasta ancho de banda, pero yo no he conseguido ninguna visita. El problema principal reside en que en estas páginas no se suele dar ningún tipo de crédito a las páginas de las que cogen las imágenes, ni un mísero link.
Así que ayer, tras ver que a mi me hacían algo parecido, decidí crearme un script para al menos conseguir algo de crédito. Se trata de una combinación entre el uso del .htaccess, PHP y la librería GD, una de las combinaciones más potentes para web de hoy en día.
El sistema a utilizar es sencillo, cuando el server reciba una petición de un jpg desde fuera de nuestro propio dominio, debe redireccionarla a un fichero PHP, que colocará una marca de agua o watermark sobre la imagen solicitada y luego la mostrará.
Si pulsais sobre leer más, teneis un tutorial sobre como configurar todo esto.
El primer paso es configurar el servidor para que redireccione las peticiones, para ello, debes crear o editar el fichero .htaccess en el directorio principal de tu servidor (donde debe estar el index de tu página). Si hay algo escrito ¡no lo borres! simplemente añade el siguiente código al final:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} .*jpg$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !tuweb.com [NC]
RewriteCond %{HTTP_REFERER} !webamigo.com [NC]
RewriteCond %{HTTP_REFERER} !google. [NC]
RewriteCond %{HTTP_REFERER} !search?q=cache [NC]
RewriteRule (.*) /hotlinks.php?src=$1
El código puede llegar a ser un poco complicado, si quereis profundizar más en el mod_rewrite (que he de deciros que es muy MUY potente, podeis encontrar un tutorial sobre lo básico aqui.
RewriteEngine OnEsta línea activa el motor para realizar las conversiones del mod_rewrite.
RewriteCond %{REQUEST_FILENAME} .*jpg$ [NC]Con esta línea hacemos que sólo se procesen las peticiones de ficheros jpg.
RewriteCond %{HTTP_REFERER} !^$Usuarios que han visto este tema también han visto...
- Leer datos de un fichero CSV con PHP
- Crear un log de errores en PHP
- Pasar saltos de línea de BD a HTML
- Tutorial de BBCode en PHP
- Calcular dias entre dos fechas con PHP
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.