
Cloaking: Aplicación, Scripts, Blackhat y Cuestiones Éticas
Publicado por Heron Inouye en 14 de Diciembre 2009| Categoría:Black HatHola lectores de la Maestrodeseo!
La técnica de Cloaking consiste en entregar contenidos diferentes adecuados para cada tipo de visitante del sitio, como el robot y un usuarios cualquiera. Por eso, mucho se habla de esta técnica sin explicar cómo aplicarla.
El objetivo de este artículo es mostrar una forma simple de como implementar esa técnica y demostrar donde esta puede ser usada. Pero antes, dejo bien claro que esta técnica tiene fundamentos académicos. No nos responsabilizamos por el uso de la misma.
Vale la pena recordar que la técnica de cloaking lesiona las Guidelines de Google, por lo tanto es posible una sanción del sitio que la utiliza, pudiendo estropear toda su estrategia de optimización de sitios.
Cloaking por User-Agent
Técnica de mostrar para el usuario un contenido diferente de aquel mostrado para el search engine o motor de búsqueda. Esa técnica es implementada a través de IP delivery.
Geo-Targeting
Es similar al cloaking, sin embargo, esta técnica exhibe contenidos diferentes de acuerdo con el lugar del planeta que el usuario está ingresando a internet. De esta manera, los search engines o motores de búsqueda son tratados de la misma forma que los usuarios. También es implementada utilizando IP delivery.
IP delivery
Si quién está ingresando, sea un usuario o un robot, él va a tener un IP de cualquier forma. La técnica cloaking fue pensada basándose en ese principio. O sea, los IPs de los robots son guardados en un banco de datos, para que posteriormente, sea exhibido un contenido diferente a ellos. En el caso del script para geo-targeting, este funciona más o menos de la misma forma, sin embargo en vez de guardar un IP específico, este guarda franjas de IPs (de los diferentes países). Dependiendo del método de detección, usted puede aplicar el cloaking usando dos técnicas: detectando el user agent o detectando la dirección IP del robot. Ahora iré a explicar resumidamente el script para ejecución del cloaking utilizando los métodos antes citados.
Detectando el user agent:
El código en PHP examina la variable HTTP_USER_AGENT, que es pasada por el servidor web. Si el user agent fuera un robot conocido, el código muestra el contenido a ser indexado. De lo contrario, el código imprime el contenido para los usuarios normales.
Detectando la dirección IP del robot
El código en PHP examina la variable HTTP_REMOTE_ADDR, que es pasada por el servidor web. Si la dirección IP fuera de algún robot conocido, el código muestra el contenido a ser indexado. De lo contrario, el código imprime el contenido para los usuarios normales. El script en PHP de abajo hace uso de las dos técnicas.
<?php
//Lista de Robots
$robot_user_agents = array(‘Googlebot/2.X (+http://www.googlebot.com/bot.html)’, ‘Slurp/2.0′, ‘MSNBOT/0.1 (http://search.msn.com/msnbot.htm)’);
//Lista de IPs que tendrán contenido diferenciado
$robot_ip_addresses = array(‘209.85.238.11′, ‘141.185.209′, ‘169.207.238′);
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$ip_address = $_SERVER['HTTP_REMOTE_ADDR'];
if (in_array($user_agent, $robot_user_agents) or in_array($ip_address, $robot_ip_addresses)) { ?>
<p>Contenido para IPs o Robots Almacenados en los Arrays</p>
<? } else{ ?>
<p>Contenido para un usuario cualquiera</p>
<? } ?>
Cloaking via .htaccess
Es posible también hacer cloaking vía .htaccess. Si alguien copia contenido de su sitio y hace referencia directa, existe una manera de enviar un contenido exclusivo para cuando fuera aparecer en un determinado dominio. Ejemplo: Si un sitio www.sitiodequiencopia.com imprime directo una página html mía, puedo enviar el contenido de la página contenido_malo.php para ser exhibido en aquel dominio. Vea la implementación:
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?sitiodequiencopian\.com/ [NC]
RewriteRule .*\.(php|html|html)$ /contenido_malo.php [L]
La vieja historia del NY Times
Un ejemplo clásico de cloaking es el del NY Times. El periódico cobra para exhibir un contenido X, y por lo tanto, se necesita de un login para ingresar a esa área restricta a humanos.
Haciendo uso de cloaking, ellos cogen el IP de los search engines o motores de búsqueda y liberan el acceso a ellos para que puedan indexar y rankear adecuadamente el contenido. O sea, en ese caso el cloaking puede no ser o por lo menos no parecer un blackhat. La técnica hace uso de IP delivery, no teniendo en cuenta el user-agent. Siendo así, no es posible ingresar el contenido cambiando el user-agent en el navegador.
Matt Cutts sugiere que Google y otros search engines o motores de búsqueda sólo pueden barrer las partes que no son restrictas de los sitios. Por eso, esas sesiones deben tener contenido nuevo y actualizado siempre. Según Danny Sullivan editor del SearchEngineWatch, el New York Times mostró a Google que es posible hacer uso de cloaking sin objetivar spam o cualquier otra técnica ilegal. Y más que eso, afirma que las guidelines de Google están ultrapasadas.
Después del caso de New York Times la idea de Cloaking sin spam viene siendo mucho más aceptada. Pero de cualquier modo, esta debe ser evitada, con miras a que no todos todavía son tolerantes a eso.
En que situaciones debo usar el Cloaking?
El articulo de Hamlet Batista cita algunas razones por el cual podríamos utilizar esta técnica:
Administradores de contenido no amigables a los search engines o motores de búsqueda: de acuerdo con Google, si los está utilizando un administrador de contenido de código cerrado que no permite la flexibilidad de hacer URLs amigables, o se posee session IDs basados en cookies, usted necesita intercambiar su administrador para uno mejor. Usar un proxy reverso que realiza el cloaking para reparar estos problemas es una “mala idea”.
Sitios multimedia: si usted posee varias mídias en su sitio que son problemáticos para ser indexados (SWf, midi, JPG), sería interesante entregar los textos de los contenidos relacionados que no pueden ser fácilmente encontrados por los search engines o motores de búsqueda solamente para los crawlers, y entregar el contenido multimedia para el usuario.
Contenidos accesibles por Javascript/AJAX: la misma idea de sitios multimedia. Es interesante que el crawler pueda distinguir el contenido que es inaccesible para él pues es inviable para este probar los eventos que generarían el acceso a los textos.
Contenidos que dependen del diligenciamiento del formulario
Indexación de contenido pagado: ocurre generalmente en foros de ayuda. El sitio entrega solamente la pregunta para el usuario y entraría la pregunta y la respuesta para el que crawler indexe.
Geolocation/IP delivery: Si su empresa desarrolla un sitio de una multinacional, es más que común que haya versiones del contenido en diversas lenguas. Entregar el contenido en portugués para un crawler siendo de Brasil tiene mucho más sentido que entregar el contenido en ingles para este mismo.
Maneras de ejecutar esa técnica camufladamente
Sería más que normal que los bots cambien temporalmente de IP, estropeando completamente la técnica de cloaking por IP delivery. Algo interesante a ser implementado sería coger el dominio por reverse DNS, haciendo un reverse-lookup en tiempo real en el dueño de la dirección IP, haciendo la técnica más efectiva. Abajo muestro la implementación de esta técnica.
<?
/*O Parámetro $ip es el IP del visitante.
Pase la variable $_SERVER ['HTTP_REMOTE_ADDR'] y verifique si el host es conocido verifique estándares*/
function gethostbyaddrl($ip) {
$rrs=dns_get_record(implode(‘.’,array_reverse(explode(‘.’, $ip))).’.in-addr.arpa.’,DNS_PTR);
$revnames=array();
foreach($rrs as $rr)
$revnames[]=$rr['target'];
return (count($revnames)) ? $revnames : FALSE; } ?>
Técnicas de Blackhat Utilizando El Cloaking
Para finalizar, dejo la siguiente pregunta para ser discutida: Usted considera el Geo-Targeting (entrega de contenidos diferentes para usuarios en lugares diferentes del mundo) una técnica de cloaking?
Si sí, usted también la considera una técnica de black hat?
En el ejemplo de una Multinacional, sería extremadamente conveniente colocar el MISMO contenido en 100 lenguas en diferentes subdominios, linkando para la página principal del sitio? Envíe su opinión!
Espero ansiosamente por sus dudas, críticas, sugerencias y experiencias. Gran abrazo!
Fake Link Exchange: En este artículo, el autor exhibe una técnica interesante que habla sobre una historia de un proceso de cambio de links un poco sospechosa.
En resumen el proceso ocurría de la siguiente forma:
• El “hacker” enviaba un email diciendo que colocó un link para su sitio;
• Al entrar en el sitio del “hacker” su links “aparecían” allá
• Enseguida él pedía, si es posible, que usted retribuya la gentileza;
• Algunos buenos samaritanos, podrían linkar de vuelta.
El problema de todo es que en la realidad su link no existía, pues el hacker grababa su IP al ingresar al sitio por primera vez y siempre que usted (con su IP) entrara en el sitio web, este le mostraba el link, en caso contrario no. Este es un tipo de intercambio de links falsos, pues no sería mostrado el link para el crawler u otros usuarios.
Protección del Contenido: Esta no es bien una técnica de Blackhat, pero sí un modo de proteger su contenido/estrategias del sitio. Sabe cuando usted nota que personas mal intencionadas siempre copian su contenido, donde generalmente esto es hecho por scripts, usted puede coger el IP de ellos y entregar un contenido diferente del original, también puede hasta ser un contenido de baja calidad e incluso un resumen del contenido original.
Redirect pro su sitio: Como se ha informado por Paulo Teixeira, un hacker invadió un blog y modificó su .htaccess, haciendo que este de la página hiciera un redirect 301 para la página del hacker cuando era ingresada por bots (incluyendo el de Google), pero cuando era ingresado por otro user-agent, el sitio era exhibido normalmente. Así todo el juice y PageRank del dominio sería transferido para la página del hacker.
Conclusión y Discusión Final
Sugerimos la lectura de estos otros artículos...
- Cloaking y Geo-Targeting
- Cloaking
- Monitoreando acciones de los Robots con PHP
- Como Intercambiar Su User-Agent Para Googlebot
- Como Evitar El Contenido Duplicado Utilizando El Robots.txt






03 de Junio de 2010 às 5:19 pm
[...] Presentación del mismo contenido para los Search Engines y usuarios (sin cloaking) [...]
10 de Junio de 2010 às 2:02 pm
[...] idea de cloaking surgió con la Cross-Domain Canonical Tag y puede ser un gran problema para los mecanismos de [...]