Avisar de contenido inadecuado
Usuario anónimo ¿Quieres tener tu propio blog?
Crear blog gratis en OboLog

Prevenir el hotlinking e implementar REST

lunes, 10 de enero del 2005 a las 17:58
guardado en

Nuevas características en el obokaman.com. Muy posiblemente las hayas pasado por alto, y por eso mismo las comento aquí, por si te son de utilidad en algún momento. Se trata de dos soluciones concretas que tienen que ver con el fichero de configuración .htaccess y el mod rewrite para Apache, que permite que el servidor web "reescriba" una URL que recibe.

En primer lugar, este último mes he visto que estamos llegando al límite de transferencia del hosting de obokaman.com, 4Gb al mes. Esto ha venido dado por diversas circunstancias, como algunas fotos tituladas "maremoto" en la galería, que han provocado un aluvión de visitas desde Google Images, y el hecho que diversas páginas externas enlazan directamente con imágenes de obokaman.com (algo conocido como hotlinking o robo de ancho de banda), provocando que se descarguen de este servidor cada vez que alguien visita su web. Feo. Aunque supongo que la mayoría de las veces se hace por desconocimiento. Sea como sea, antes de plantearme eliminar alguna sección de la web para reducir tráfico, prefiero plantearme alguna opción menos bestia. He optado por bloquear el acceso a las imágenes de obokaman.com desde el exterior. A partir de ahora, cuando alguien muestre una imagen de obokaman.com en su server, aparecerá este gif.

Esto es sencillo de conseguir modificando o creando un fichero llamado ".htaccess" en la carpeta raíz, con el siguiente contenido:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?obokaman\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?internostrum\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?bloglines\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?feedness\.com/ [NC]
RewriteRule \.(jpe?g|gif|bmp|png)$ nohotlink.gif [L]

Como ves, las líneas donde aparece "RewriteCond", son en las que se especifica qué servidores son los "autorizados". En mi caso he activado dos lectores de noticias y la página que permite hacer las traducciones de catalán a castellano. Al final, RewriteRule, le dice qué hacer cuando se cumplan las condiciones _redireccionar a la imagen nohotlink.gif_. Tu puedes cambiar esas lineas para adaptarlo a tus necesidades.

El segundo tema que queria tratar de instaurar en obokaman.com era referente a las URL "amigables", esto es, intentar evitar las direcciones del tipo "indice_msg.php?blog=colectivo&categoria=Internet", que resultan ininteligibles en muchos casos y cambiarlo por algo del tipo "/archivos/colectivo/internet". De la misma manera, a partir de ahora para acceder a los mensajes lo haremos usando la url www.obokaman.com/mensaje/id_del_mensaje, para acceder al blog de cada uno, lo haremos escribiendo www.obokaman.com/blog/nombre_de_usuario., etc... Aunque las URL así lo indiquen, no hay ninguna carpeta en la web que se llame "blog" ni "archivos" ni "mensaje". De traducir esas URL a las correctas se encarga de nuevo el mod rewrite de Apache. Estas son las lineas que convierten las URL en el caso de obokaman.com

RewriteEngine On
  RewriteRule ^(.*)mensaje/(.*)/?$ /mensaje/$2 [QSA]
  RewriteRule ^(.*)archivos/(.*)/(.*)?/?$ /indice_msg.php?blog=$2&categoria=$3 [L]
  RewriteRule ^(.*)archivos/(.*)/?$ /indice_msg.php?blog=$2&categoria=$3 [L]
  RewriteRule ^(.*)archivos/?$ /indice_msg.php [QSA]
  RewriteRule ^(.*)buscar/?$ /buscar.php [QSA]
  RewriteRule ^(.*)blog/(.*)/?$ /index.php?blog=$2 [QSA]

RewriteRule le especifica mediante expresiones regulares, la cadena modelo y la URL real a la que se debe redireccionar en cada caso. Lo de las expresiones regulares tiene candela. Si quieres empaparte con su sintaxis te recomiendo esta web como referencia.

Bueno, y eso es todo. Como ves, nada que afecte en apariencia al funcionamiento normal de la web, pero que mejora su rendimiento.

Relacionados con Prevenir el hotlinking e implementar REST

Deja tu comentario sobre Prevenir el hotlinking e implementar REST

Deja tu comentario
Necesitas tener javascript activado para poder dejar comentarios

Identifícate en OboLog, o crea tu blog gratis si aún no estás registrado.

De esta forma, además, podrás mostrar tu imagen en los comentarios y no tendrás que rellenar tus datos cada vez.

Sobre esta anotación

Albert Garcia

Albert Garcia escribió esta anotación hace 7 años. En ella habla sobre Desarrollo Web.

Aún no hay ningún comentario.

Tu podrías dejar el primero.

Login

Comentarios

Descripción y fuentes del upload PHP + AJAX con barra de progreso (Adri)
Hola Albert. Estoy muy interesado en tu experimento pero al parecer el archivo a desaparecido. ......(18 abr)
Córcega: Isla de tortuosas carreteras (Rutas y Mapas)
Córcega es un destino turístico maravilloso que además cuenta con algunas cosas interesantes como ......(13 abr)
Muere Steve Irwin, el Cazador de Cocodrilos (juliana)
que gran perdida de este gran presenbtador pobre de su familia el erea el mejor q gran perdida...(10 abr)
Para triunfar hay que renunciar a la vida personal (TITA ZAMBRANO Z)
yo pienso que debemos capacitarnos y prepararnos integramente esto quiere decir que no solo debe ......(09 abr)
Català - Valencià (Català Indignat)
Mireu Valencians, a mi ja em teniu fins les pilotes, ni països catalans ni osties en vinagre, ja os ......(23 mar)

Más comentados

Disco duro para tu ps2 (192)
Conectar un disco duro a tu Playstation 2, hacer copias de seguridad de tus juegos a ese disco ...
Esa bonita canción entre anuncio y anuncio (173)
Se llaman Múm y la canción se titula Green Grass of Tunnel. ¿Os suena? Me sorprendió de igual ...
Descripción y fuentes del upload PHP + AJAX con barra de progreso (137)
Días atrás comenté que había estado trabajando en un pequeño experimento para conseguir implementar ...
Català - Valencià (60)
Siguis o no català o valencià , de ben segur estaràs al dia de la discusió que ha tingut ...
Que tinguem sort (26)
Esta canción es preciosa. Me gustaría poder estar en su piel y ser suficientemente fuerte como para ...

Suscripción

Suscríbete al Feed RSS XML

También puedes suscribirte directamente con alguno de los siguientes enlaces:

  • Suscríbete en Bloglines
  • Suscríbete en Google