Asier Marqués

Hablando sobre tecnologías web y otras cosas que me interesan
Archivado como Desarrollo Web, PHP

En mpWebWizard, veo un sencillo truco para desviar el tráfico proveniente de grandes diggs y portales de información que pueden dejar inaccesible nuestro sitio.

//El truco, consiste en meter todas las direcciones que queremos desviar en un array:

$sites = array(

digg.com‘,
’slashdot.org‘,
reddit.com‘,
fark.com‘,
somethingawful.com‘,
kuro5hin.org‘,
engadget.com‘,
boingboing.net‘,
‘del.icio.us’,
netscape.com

);


// Comprobamos que el tráfico no proviene de un servicio de proxy cache (si no lo hacemos la aplicación entraría en un bucle) y comprobamos la definición de la variable de cabecera HTTP_REFERER

if (isset ($_SERVER['HTTP_REFERER']) && ! strstr ($_SERVER['HTTP_USER_AGENT'], ‘ [ Servicio de Proxy ]‘)) {

$referer = parse_url ($_SERVER['HTTP_REFERER']);

$referer = $referer['host'];

//Por cada uno de los sitios del array que hemos definido en el primer paso, comprobamos que no aparezca en la cabecera recibida.

foreach ($sites as $site) {

if(
stristr ($referer['host'], $site)) {

//Redireccionamos al sitio que queramos. Si en ese sitio hemos replicado el contenido del sitio web que tenemos y queremos pasarle dinámicamente la ruta y parámetros referentes al post añadiremos al final: $_SERVER['REQUEST_URI']

//Como aportación personal… yo desviaría el tráfico aleatoriamente a una de varias direcciones alternativas, que previamente hemos almacenado en un array, mediante array_rand()

header (’Location: [ Dirección a la que enviamos el tráfico ]‘);

//Terminamos la ejecución del script

exit;
}
}
}

Publicado por Asier Marqués el Jueves, 11 de Enero del 2007


Puedes seguir los comentarios de ésta entrada via "RSS 2.0" y dejar un trackback desde tu sitio.

Añade un comentario