Objet : Liste pour les discussions techniques (liste à inscription publique)
Archives de la liste
- From: jreitzel AT april.org
- To: technique AT april.org
- Subject: Re: [Fwd: Re: [TECH] besoins d'aide en php - condition]
- Date: Thu, 18 Dec 2008 22:42:41 +0100
Bonsoir,
J'arrive certainement un peu tard, mais je tente quand même.
J'aurais écrit votre code, plutôt de la façon suivante :
$dns = $_SERVER['HTTP_USER_AGENT'];
$bots = array();
$trouve = false;
$bots[] = "sv.av.com";
$bots[] = "x1crawler";
$bots[] = "googlebot.com";
$bots[] = "lycos.com";
$bots[] = "inktomisearch.com";
for( $i=0 ; $i<sizeof($bots) && !$trouve ; $i++ )
{
$trouve = strpos($dns, $bots[$i]) !== false;
}
if( !$trouve )
{
//Incrémenter le compteur
}
Ce n'est pas encore très propre, mais ça permet d'ajouter ou de retirer des
bots plus simplement.
Par contre, le 'user agent' peut-être modifié par le visiteur, comme
indiqué sur la page wikipédia à laquelle vous faisiez référence. Il vaut
donc mieux utiliser l'adresse ip ou le host name pour plus de fiabilité.
Mais il est sûr qu'en l'occurence, ce n'est pas très important pour ces
statistiques, et ça n'a pas plus d'intérêt pour l'utilisateur de se faire
passer pour un bot.
Julien Reitzel.
Bertrand Perrier :
Bonjour,
je vai tester la fonction gethostbyaddr mais il y a aussi la fonction
$_SERVER['HTTP_USER_AGENT']
qui donne aussi des info sur le visiteur
quand je test la valeur de $_SERVER['HTTP_USER_AGENT'] en local j'ai
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/2008111318
Ubuntu/8.10 (intrepid) Firefox/3.0.4
d'aprés http://www.siteware.ch/webresources/useragents/spiders/google.html
$_SERVER['HTTP_USER_AGENT'] me renvoie
Googlebot/1.0 (googlebot AT googlebot.com http://googlebot.com/)
d'aprés http://fr.wikipedia.org/wiki/User-Agent#Php
$_SERVER['HTTP_USER_AGENT'] me renvoie
Googlebot/2.1 (+http://www.google.com/bot.html)
donc je n'ai pas les même retour suivant les sites
il me faudrai une fonction qui recherche un mot dans une chaine de mots, je
trouve strpos
voici le code que j'ai trouvé puis modifié
$dns = $_SERVER['HTTP_USER_AGENT'];
$scooter=strpos($dns,"sv.av.com");
$voilabot=strpos($dns,"x1crawler");
$googlebot=strpos($dns,"googlebot.com");
$lycosbot=strpos($dns,"lycos.com");
$inktomi=strpos($dns,"inktomisearch.com");
if (($scooter==false) && ($voilabot==false) && ($googlebot==false) &&
($lycosbot==false) && ($inktomi==false))
{
//Incrémenter le compteur
}
merci beaucoup, je ne connaissai pas la valeur $_SERVER['HTTP_USER_AGENT']
Bertrand
- [Fwd: Re: [TECH] besoins d'aide en php - condition], Bertrand Perrier, 14/12/2008
- <Suite(s) possible(s)>
- Re: [Fwd: Re: [TECH] besoins d'aide en php - condition], jreitzel, 18/12/2008
Archives gérées par MHonArc 2.6.16.