:::: MENÚ ::::

Bloquear #Adfly en nuestra página

prohibited-adfly

Ayer mismo navegando por internet buscando un archivo llegué a una página donde lo proporcionaban sin ningún problema, pero antes de llegar a él, tuve que pasar un enlace de ad.fly de un tercero. A la conclusión que llegué es que era molesto para el propietario, ya que tiene que carrear con todos los gastos, tanto de almacenamiento, transferencia y de gestionar, y que no recibe absolutamente nada del beneficio del enlace de ad.fly que alguien enlazó a su página, entonces pensé ¿Porqué no bloquear los enlaces de ad.fly directamente?

De Adf.ly a nuestra página

Cuando le decimos al navegador que queremos ver una página, lo que hace es enviar una petición a dicha página con ciertos datos y la descarga, esto mismo pasa cuando estamos en una página y hacemos clic en un enlace que nos lleva a otra. En dicha petición, uno de los datos que viene es el nombre de la página de la que venimos, por ejemplo, si estamos en la página de smallhost.es y hubiera un enlace que nos llevara a rubenmartin.me, en este último podremos consultarle a la petición de donde venimos, que en este ejemplo, sería de smallhost.es.

Activar mod_rewrite y la condición

Usaremos el archivo .htaccess, en él vamos a usar mod_rewrite que nos permitirá redireccionar a los visitantes a donde queramos, como una página de aviso, un 404 o cualquier otro sitio, e incluso, a otra página externa.

Para activarlo simplemente deberemos declarar RewriteEngine y pasarle el valor on.

RewriteEngine on

Como sólo queremos que las visitas de Adf.ly sean las afectadas, primeramente debemos comprobar que el usuario efectivamente viene de ahí, para eso, vamos a usar RewriteCond que nos sirve para hacer la comprobación. Su sintaxis es:

RewriteCond TestString CondPattern

En TestString le vamos a poner el valor que vamos a usar para la comprobación. Como os comenté antes, existe un dato que nos dice de donde viene la visita, su nombre es HTTP_REFERER, como es una variable de servidor, va entre corchetes y precedido de un porcentaje, o sea, %{HTTP_REFERER}.

Con CondPattern, le decimos que valor comparar en relación a TestString, si los dos coinciden, entonces ejecutamos la acción. Para ello vamos a usar una expresión regular que sería ^http://adf.ly (es importante el signo “^”).

Finalmente nuestro RewriteCond quedaría del siguiente modo:

RewriteCond %{HTTP_REFERER} ^http://adf.ly

Redireccionando

Vamos a hacer que todos los visitantes que lleguen a nuestra página sean redireccionados a otro en donde mostrar un mensaje o cualquier otra cosa que tu creas conveniente. Vamos a usar RewriteRule para aplicar la norma. La sintaxys es la siguiente:

RewriteRule Pattern Substitution [flags]

En Pattern, con una expresión regular, decimos que queremos capturar del enlace original, o sea, el que nos viene de Adf.ly. Para nuestro caso nos da igual el enlace en sí, ya que no vamos a usar ninguna parte de él como referencia, por lo que vamos a asingar un . (punto), que en una expresión regular, significa cualquier carácter.

Para Substitution, vamos a poner la dirección web a la que queremos llevar los visitantes que vienen de Adf.ly. Si deseamos llevar al usuario a otra sección de nuestra página, simplemente tendremos que añadir, por ejemplo, /mi/seccion, en cambio, si se desea que vaya a otra web, habrá que ponerla completa http://otrapagina.com/su/seccion/. Para este caso, voy a usar una sección de mi web.

Por último [flags]. Son opciones adicionales que podemos añadirle a esta norma, pero no es estrictamente necesario en este caso. En su defecto podríamos usar la “bandera” L, para detener la ejecución del .htaccess después de lanzar el redireccionamiento.

En resumidas cuentas, nuestro RewriteRule quedaría del siguiente modo:

RewriteRule . /mi/seccion [L]

El restulado

Uniendo todas las partes y en resumidas cuentas, conseguiríamos que cualquier visita que venga de un enlace de Adf.ly sea dirigido a otra página o sección, mostrando por ejemplo un mensaje e impidiendo que vean el contenido que vinieron a buscar haciendo que otro ganen dinero a nuestra costa. Por lo tanto nuestro .htaccess quedaría del siguiente modo:

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://adf.ly
RewriteRule . /mi/seccion [L]
  1. mod_rewrite – Apache HTTP Server
Share on Facebook0Tweet about this on TwitterShare on Google+1Share on LinkedIn11Share on Tumblr0Pin on Pinterest0Email this to someone

  • Tony

    Mas bien ‘Resultado’ que
    El restulado
    ;-)

  • CGdP Vlazeck

    No lo entiendo.

    Es como la “tasa Google”: un periódico recibe visitas que le vienen
    bien, pero le molesta que Google gane también dinero al mandárselas.

    Una persona que tiene un blog o ha subido un archivo para que sea
    descargado recibe visitas o descargas que le vienen bien, pero le
    molesta que ad.fly (o el que ha puesto el link con ellos) gane dinero…
    a mí, si me vienen visitas (o descargas), bienvenidas sean, y si
    alguien más gana con ello, me alegro por él…

    Y que conste que yo ad.fly sólo lo pongo en contenidos míos que dirigen a
    descargar contenidos también subidos por mí, pero vamos, que no veo el
    problema…