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