Seohackers netlinking

Attention proxy web, risque duplicate content

Ecrit par admin le Vendredi 9 novembre 2007 à 16:18 - Catégorie Google,Proxies,Sécurité Internet et SEO

Les proxies peuvent nuire au positionnement de votre site et envoyer vos pages dans les méandres des résultats de google. Je ne parle pas de l’internaute qui navigue avec un logiciel proxy ou qui modifie les paramêtres de son navigateur pour naviguer sur le web à l’aide d’un proxy. Je parle de celui qui passe par des proxys installés sur des sites web, exemple :

cache google page proxy

Ce sont donc ces proxies développés en php ou perl que les webmasters installent sur leur sites pour proposer à l’internaute de naviguer anonymement qui peuvent nuire à vos pages.

En quoi ces proxies sont-ils dangereux ?

Les pages visitées à l’aide de ces proxies sont mises en cache et indexées par les moteurs de recherche, les liens présents sur ces pages sont aussi suivis et mis en cache par ces scripts de proxy et surtout ces liens passent par le proxy, donc Googlebot suit ces liens.

google proxy result

Si vous venez de créer votre site, qu’il n’a pas ou peu de popularité, peu de liens entrants… alors vous êtes concerné par ce souci. Ces proxies pour certains existant depuis longtemps, ils ont bénéficiés d’une certaine popularité auprès de Google qui peut décider de leur attribuer la paternité de vos articles et donc de dégager vos pages de l’index pour duplicate content (contenu identique).

Comment cela se passe ?

Avec le lancement de « Big Daddy », Google crawle les pages web depuis différents datacenters, la page originale est indexée dans un ou plusieurs datacenters, la copie (la page du proxy) est indexée dans un ou plusieurs datacenters, un robot visite la page originale pour vérifier si le contenu est dupliqué et décide que oui, la page originale est alors pénalisée et se retrouve propulsée vers la fin de l’index.

Comment identifier et bloquer ces poxies

Plusieurs méthodes sont possibles mais aucune n’est fiable à 100 %, on peut alors mixer les méthodes, choisir une méthode préventive ou agir une fois le contenu dupliqué découvert :

Méthode 1 – Reverse DNS lookup et Cloacking

Les proxies web aiment bien se faire passer pour Google, MSN ou Yahoo et donc utilisent l’user-agent de Google, de MSN ou de Yahoo. On va donc faire un Reverse DNS lookup pour voir si l’ip correspond bien à une ip appartenant à Google.
Le cloacking permet de présenter une erreur 403 si le proxy essaye de se faire passer pour googlebot, MSNbot ou Slurp (bot de yahoo).

<?php
// Récupere user agent. 
$ua = $_SERVER['HTTP_USER_AGENT']; 
// Vérifier si le user agent correspond à celui d'un bot. 
if(stristr($ua, 'msnbot') || stristr($ua, 'googlebot') || stristr($ua, 'inktomi') || stristr($ua, 'slurp') || stristr($ua, 'yahoo')) { 
// Le user agent correspond au user-agent d'un bot. 
	// Si l'UA est spoofé, on ne trouveras pas googlebot.com dans le nom d'hote. 
	// Récupére adresse IP qui demande la page. 
	$ip = $_SERVER['REMOTE_ADDR']; 
	// Reverse DNS lookup adresse IP pour récupérer un hostname. 
	$hostname = gethostbyaddr($ip); 
	// Vérifie si '.googlebot.com' ou '/search.live.com' ou '.inktomisearch.com' correspond à hostname. 
	if(!preg_match("/\.googlebot\.com$/", $hostname) &&!preg_match("/search\.live\.com$/", $hostname) &&!preg_match("/\.inktomisearch\.com$/", $hostname)) { 
		// host name ne correspond ni à live.com ni googlebot.com, ni inktomisearch. 
		// Remember the UA already said it is either MSNBot or Googlebot or Slurp. 
		$block = TRUE; 
		header("HTTP/1.0 403 Forbidden"); 
		exit; 
	} 
	else { 
		// Dernière vérification
		// Forward DNS lookup le nom d'hôte pour obtenir une addresse IP. 
		$real_ip = gethostbyname($hostname); 
 
		if($ip!= $real_ip){ 
			$block = TRUE; 
			header("HTTP/1.0 403 Forbidden"); 
			exit;
//on peut à la place d'un 403 forbidden, mettre un captcha pour laisser une chance aux petits malins qui se font passer pour un bot.
 
		} 
		else { 
		// Real bot. 
			$block = FALSE; 
		} 
	} 
} 
?>

Donc pour valider que c’est Googlebot, Slurp ou Msn Bot, on fait un double check sur l’ip, si l’ip pointe vers un nom d’hôte de Google et si l’hôte retourne l’ip originale (de départ) alors c’est bien Googlebot. Vous pouvez consultez cet article pour plus d’informations : How to verify Googlebot (en anglais).

Il faut éviter de faire un Reverse DNS lookup à chaque fois, il vaut mieux mettre les résultats en cache au moins pour 24 heures ou en bdd.

Cette méthode a ses limites, il suffit que le proxy utilise un user-agent classique pour passer sans problème, mais bon un grand nombre de ces proxies utilise l’user-agent de Google.

Méthode 2 – Listing exhaustif des différents proxies web

On peut essayer de recencer la majorité de ces sites, pour ça on utilise Google avec des commandes comme inurl:nph-proxy.cgi et des sites comme proxy.org qui liste un bon paquet de sites utilisant ces scripts de proxies.

- On regarde quels sites sont encore accessibles (en effet ces sites disparaissent régulièrement)

- On crée un script qui va récupérer les ips de ces proxies.
Attention : ces proxies n’utilisent pas toujours la même ip pour cacher les pages et pour interroger le site cible. Il faut donc interroger une page web à travers les proxies et bloquer l’ip que l’on aura pris le soin d’enregistrer lors de l’appel de notre page cible.

- On bloque l’accès à nos pages pour ces ips soit par htaccess ou script php (plus de détails plus bas).

Cette méthode est longue et fastidieuse, difficile à maintenir dans le temps.

Méthode 3 – Alertes Google

S’inscrire sur : http://www.google.com/alerts et saisissez le terme de recherche monsite.com et/ou inurl:monsite.com et/ou certaines phrases uniques de votre site.

Vous pouvez configurer la fréquence d’envoi d’email.
Vous verrez ainsi chaque lien mis en place vers votre site.

Vous serez ainsi prévenu dès que le contenu de vos pages sera repris sur d’autres pages, vous serez alors en mesure de bloquer immédiatement les ip et remplir un spam report s’il s’agit de proxies (il vaut mieux être loggué pour que le spam report soit pris en compte, un spam report anonyme n’a aucune valeur) .

Il est plus facile de bloquer ces proxies, lorsque l’on se rend compte dès le début de l’indexation dans google de ces pages.

Méthode 4 – Se servir de Google pour trouver les pages dupliquées par ces proxies

En fait, le plus simple à mon avis est de trouver les proxies qui repompent notre contenu et qui ont nos pages dupliquées référencées dans google. Pour trouver ces proxies, je suis passé par cette commande sur Google :

proxy +nomdedomainedusite -inurl:nomdusite

Une autre commande à tester aussi pour lutter contre les proxies basés sur le script Perl de jmarshall (http://www.jmarshall.com/tools/cgiproxy/) :

inurl:nph-proxy.cgi/ google.com

Encore une autre basé sur le script Glype proxy :

proxy + inurl: »/browse.php?u= » yahoo

Pour trouver ces commandes, j’ai étudié les pages mises en cache par ces proxies, il y a souvent/toujours le mot proxy, les urls des requêtes sont pour la plupart composées de q=quelquechose et dans la page mise en cache on retrouve bien-sûr le nom de domaine, j’ajoute -inurl pour virer les pages de mon site qui peuvent correspondre.

On obtiens ainsi des résultats corrects, on découvre que de nombreux sites sont victimes de ces proxies, si je prends comme exemple Google.

proxy + inurl: »q= » +google.fr -inurl:google -search -recherche

Google est particulièrement victime de ces sites car en passant par ces proxies, on peut lancer de nombreuses requêtes sur Google sans limites (j’y reviendrais dans un autre article).

Bloquer ces proxies :

1 – On peut utiliser un fichier htaccess pour interdire ces ips, exemple le code ci-dessous :

deny from 192.168.1.1

2 – Soit en php par exemple.

- On crée un script qui va récupérer les ips de ces proxies.
A faire…

- On bloque l’accès à nos pages pour ces ips :

//on récupère ip du visiteur
$remote_ip = $_SERVER['REMOTE_ADDR'];
//on ouvre le fichier contenant la liste des ip des proxies web
$fh = fopen("http://www.monsite.com/scripts/killwebproxy/ip_proxies.txt", "r");
//on initialise la variable $proxy_detect à false
$proxy_detect=false;
//on parcours le fichier pour voir si l'ip du visiteur est présente dans notre fichier txt
while (!feof($fh))
	{
$ligne_fichier2=trim(fgets($fh, 4096));
if ($ligne_fichier2!=null)
//on cherche ip du visiteur
if (strpos($remote_ip,$ligne_fichier2)!==false)
$proxy_detect=true;
	}
fclose($fh);
// si ip visiteur trouvée alors on affiche une page blanche avec un header 403 forbidden et on arrête de lire la suite du code (exit)
if ($proxy_detect==true) {
header("HTTP/1.0 403 Forbidden"); 
exit; }
//Insérer ci-dessous votre page


Outil permettant de découvrir les proxies qui reprennent le contenu de vos pages

Cet outil que je propose est en cours de développement, il n’est pas parfait mais vous permet déjà de trouver un certain nombre de proxies succeptible de repomper votre contenu, saisissez votre nom de domaine (ex: seoblackout.com) et cliquez sur « Go » :

Saisissez votre nom de domaine (ex: seoblackout.com) :

Cet article est une ébauche que je complèterai au fur et à mesure…

Articles liés :

Commentaires (9)

Catégorie: Google,Proxies,Sécurité Internet et SEO


9 Commentaires

Commentaire par Le Portail du Web

Vendredi, 9 novembre , 2007 à 22:45

Oui, ça fait des années déjà que ce problème est évoqué et il n’y a guère de solution idéale. Ceci dit, comme tu le précises c’est surtout les sites en phase de lancement qui sont susceptibles d’en faire les frais. Je pense que de temps en temps il faut lancer une requête de recherche sur Google (celles que tu indiques) pour vérifier tout ça…

Commentaire par alex de Referencement Blog

Samedi, 10 novembre , 2007 à 0:12

Bonjour Paul,

C’est vraiment très énervant, d’autant plus quand tu ne peux rien faire comme pour le Wiki SeoCamp :
-http://www.proxy4myspace.org/index.php?q=aHR0cDovL2JhcmNhbXAub3JnL1Nlb0NhbXA%3D

D’ailleurs, tu n’as pas reçu de mail pour valider ton inscription? Tu es censé t’inscrire sur l’évènement SeoCamp Paris sur Facebook ou m’envoyer un mail à contact_SEO_seo-camp.org.

A bientôt.

Commentaire par admin

Samedi, 10 novembre , 2007 à 1:00

@ Fred, oui ça fait des années et Google le sait mais ne réagit pas alors que ce serait assez simple à rêgler, ces sites laissent tellement d’empreintes… Un membre de la sphère a vu un de ses sites dégagé à cause d’un proxy, il y a encore quelques mois.

@ Alex, je m’occupe de l’inscription demain ;)

Commentaire par admin

Samedi, 10 novembre , 2007 à 7:10

Je viens de comprendre un truc tout con, les urls sont encodées pour pas mal de proxies en base 64, il suffit de faire une recherche avec inurl:url_encoder base 64, je vais pouvoir largement améliorer le script, exemple avec google.com :
http://www.google.fr/search?hl=fr&q=inurl%3AaHR0cDovL3d3dy5nb29nbGUuY29t

Commentaire par Silef

Lundi, 12 novembre , 2007 à 12:39

Est ce que je peux en conclure que faire référencer des pages de proxy peut nuire au réfécement/positionnement d’un site ?

Commentaire par admin

Lundi, 12 novembre , 2007 à 13:28

Oui, cela peut faire partie des techniques SEO Black Hat pour nuire au positionnement d’un site web jeune avec peu de popularité, pour des sites à forte popularité, les risques sont minimes sauf peut-être si on s’attaque à un nouvel article, récemment publié par le site à fort popularité.

Commentaire par Silef

Lundi, 12 novembre , 2007 à 13:31

Merci pour la réponse, sinon j’ai une autre question qui n’a rien à voir avec la choucroute en fait… De quelle manière peut on influencer négativement sur un site déjà ancien à la popularité non négligeable ?

Sinon merci de nous faire partager tes connaissances, je trouve ton site trés instructif^^

Commentaire par CANYON

Mardi, 21 avril , 2009 à 8:40

gethostbyaddr()est une usine à gaz donc bad, very bad, mais en php, y a pas mieux ;-)

Commentaire par GPenverne

Mardi, 14 septembre , 2010 à 14:31

Pour ma part, j’utilise l’api php fournie par blockerip, ca a réglé mon problème :p

Les commentaires sont fermés pour cet article.



SEO BLACKOUT

Site web dédié aux techniques de référencement et de positionnement de sites web sur Google.

Certaines parties du site sont en accès restreint, ces espaces sont réservés à la SEO Black Hat Team.


Don't Be Evil !