Prevenir efecto barrapunto, digg y otros

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;
}
}
}

Sobre Asier

Arquitecto web enganchado al desarrollo, estudio y planteamiento de proyectos en internet. Trabajo en Blackslot, empresa que fundé en el 2009. Me encanta el cine, el café, el sexo, la cultura geek, la cultura oriental y la música electrónica.
Artículo publicado en Desarrollo Web, PHP. Enlace a esta entrada..

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos requeridos, están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notificarme los nuevos comentarios por correo electrónico. Tambien puedes suscribirte sin comentar.