Connectix Boards

Bienvenue, vous n'êtes pas connecté. ( Se connecter - S'enregistrer )

Dernière version sortie: 0.8.4!
Venez tester la version 1.0 beta :)

Connectix Boards > Zone développement > Programmation > [MOD] Reconnaissance des Robots

 >  Sondage : Qu'est-ce que vous pensez de cette MOD ?
Très utile ---
Utile ---
Sans plus ---
Aucuns intérêts ---
Nombre de votes blancs : 1 Nombre total de votes (non-blancs) : 3
RSS >  [MOD] Reconnaissance des Robots
KaNa #1 18/04/2010 - 18h30

Groupe : Habitué
Messages : 82
Enregistré le : 28/05/2006

Hors ligne Site Web

Nom du mod : Reconnaissance des Robots
Auteur : KaNa
Date de création : 18 Avril 2010
dernière mise à jour : 19 Avril 2010
Version de CB : 0.8.4 versions inférieures non testées
Aperçu du rendu
Posted Image Posted Image

Description générale :
Le mod "Reconnaissance des Robotst" permet de voir les robots présents sur votre forum, et au même titre que les utilisateurs, de voir ce qu'ils font.

Liste des robots connus :
'Googlebot'     => 'Robot Google',
'ia_archiver'    => 'Robot Alexa',
'fastcrawler'         => 'Robot Lycos',
'Slurp'     => 'Robot Yahoo',
'msnbot/'   => 'Robot MSN',
'Scooter/'   => 'Robot Altavista',
'ArchitextSpider'   => 'Robot Excite',
'ArchitectSpider'   => 'Robot Excite',
'VoilaBot'   => 'Robot Voilà',
'Exabot/'   => 'Robot Exalead',
'Gigabot/'   => 'Robot Gigablast',
'Mercator'   => 'Robot Altavista',
'Googlebot-Image'   => 'Robot Google-Image',
'DeepIndex'   => 'Robot de Deepindex',
'FAST-WebCrawler'   => 'Robot de FAST',
'Ask Jeeves'   => 'Robot Ask Jeeves',
'Teoma'   => 'Robot de Teoma',
'Pompos'   => 'Robot de Pompos',
'ZyBorg'   => 'Robot de Wizenut',
'HenriLeRobotMirago'   => 'Robot de Mirago',
'Openbot'   => 'Robot de Openfind',
'Mediapartners-Google' => 'Robot Adsense',
'NG' => 'Robot Aol',
'AdsBot-Google' => 'Robot Google AdsBot',
'Baiduspider+' => 'Robot Baidu',
'FAST Enterprise Crawler' => 'Robot FAST Enterprise',
'FAST WebCrawler/' => 'Robot FAST WebCrawler',
'www.neomo.de' => 'Robot Neomo',
'Google Desktop' => 'Robot Google Desktop',
'Feedfetcher-Google' => 'Robot Google Feedfetcher',
'heise-IT-Markt-Crawler' => 'Robot Heise IT-Markt',
'heritrix/1.' => 'Robot Heritrix',
'ibm.com/cs/crawler' => 'Robot IBM Research',
'ICCrawler - ICjobs' => 'Robot ICCrawler/ICjobs',
'ichiro/' => 'Robot Ichiro',
'MJ12bot/' => 'Robot Majestic-12',
'MetagerBot/' => 'Robot Metager',
'msnbot-NewsBlogs/' => 'Robot MSN NewsBlogss',
'msnbot-media/' => 'Robot MSN Media',
'NG-Search/' => 'Robot NG-Search',
'http://lucene.apache.org/nutch/' => 'Robot Nutch',
'NutchCVS/' => 'Robot Nutch/CVS',
'OmniExplorer_Bot/' => 'Robot OmniExplorer',
'online link validator' => 'Robot Online link',
'psbot/0' => 'Robot Picsearch',
'Seekbot/' => 'Robot Seekport',
'Sensis Web Crawler' => 'Robot Sensis',
'SEO search Crawler/' => 'Robot SEO Crawler',
'Seoma [SEO Crawler]' => 'Robot Seoma',
'SEOsearch/' => 'Robot SEOSearch',
'Snappy/1.1 ( http://www.urltrends.com/ )' => 'Robot Snappy',
'http://www.tkl.iis.u-tokyo.ac.jp/~crawler/' => 'Robot Steeler',
'SynooBot/' => 'Robot Synoo',
'crawleradmin.t-info@telekom.de' => 'Robot Telekom',
'TurnitinBot/' => 'Robot Turnitin',
'voyager/1.0' => 'Robot Voyager',
'W3 SiteSearch Crawler' => 'Robot W3 [Sitesearch]',
'W3C-checklink/' => 'Robot W3C [Linkcheck]',
'W3C_*Validator' => 'Robot W3C [Validator]',
'http://www.WISEnutbot.com' => 'Robot WiseNut',
'yacybot' => 'Robot YaCy',
'Yahoo-MMCrawler/' => 'Robot Yahoo MMCrawler',
'YahooSeeker/' => 'Robot YahooSeeker',


Installation du MOD


Modification de la base de donnée :
Dans PhpMyAdmin, tapez la requête SQL suivante :
ALTER TABLE `cb_connected` ADD `con_user_agent` VARCHAR( 255 ) NOT NULL AFTER `con_position` ;

Modification des fichiers :

*Dans include/core/class.user.php
Cherchez :
function connected ($position) {
       $this->connected_position = $position;
       $conid = $this->logged ? $this->userid : (int)str_pad(substr(str_replace('.','',$_SERVER['REMOTE_ADDR']),0,11),10,'0') ;
       $GLOBALS['cb_db']->query('REPLACE DELAYED INTO '.$GLOBALS['cb_db']->prefix.'connected(con_ip,con_id,con_timestamp,con_position,con_user_agent) VALUES('.ip2long($_SERVER['REMOTE_ADDR']).','.$conid.','.time().',\''.$this->connected_position.'\',\''.$HTTP_USER_AGENT_.'\')');
       if (mt_rand(0,100) < 2) $GLOBALS['cb_db']->query('DELETE FROM '.$GLOBALS['cb_db']->prefix.'connected WHERE con_timestamp<'.(time()-($GLOBALS['cb_cfg']->config['connectedlimit']*60)));
}


Et remplacez par cela :
function connected ($position) {
     $remap_agents = array(
            'Googlebot'     => 'Robot Google',
            'ia_archiver'    => 'Robot Alexa',
            'fastcrawler'         => 'Robot Lycos',
            'Slurp'     => 'Robot Yahoo',
            'msnbot/'   => 'Robot MSN',
            'Scooter/'   => 'Robot Altavista',
            'ArchitextSpider'   => 'Robot Excite',
            'ArchitectSpider'   => 'Robot Excite',
            'VoilaBot'   => 'Robot Voilà',
            'Exabot/'   => 'Robot Exalead',
            'Gigabot/'   => 'Robot Gigablast',
            'Mercator'   => 'Robot Altavista',
            'Googlebot-Image'   => 'Robot Google-Image',
            'DeepIndex'   => 'Robot de Deepindex',
            'FAST-WebCrawler'   => 'Robot de FAST',
            'Ask Jeeves'   => 'Robot Ask Jeeves',
            'Teoma'   => 'Robot de Teoma',
            'Pompos'   => 'Robot de Pompos',
            'ZyBorg'   => 'Robot de Wizenut',
            'HenriLeRobotMirago'   => 'Robot de Mirago',
            'Openbot'   => 'Robot de Openfind',
            'Mediapartners-Google' => 'Robot Adsense',
            'NG' => 'Robot Aol',
            'AdsBot-Google' => 'Robot Google AdsBot',
            'Baiduspider+' => 'Robot Baidu',
            'FAST Enterprise Crawler' => 'Robot FAST Enterprise',
            'FAST WebCrawler/' => 'Robot FAST WebCrawler',
            'www.neomo.de' => 'Robot Neomo',
            'Google Desktop' => 'Robot Google Desktop',
            'Feedfetcher-Google' => 'Robot Google Feedfetcher',
            'heise-IT-Markt-Crawler' => 'Robot Heise IT-Markt',
            'heritrix/1.' => 'Robot Heritrix',
            'ibm.com/cs/crawler' => 'Robot IBM Research',
            'ICCrawler - ICjobs' => 'Robot ICCrawler/ICjobs',
            'ichiro/' => 'Robot Ichiro',
            'MJ12bot/' => 'Robot Majestic-12',
            'MetagerBot/' => 'Robot Metager',
            'msnbot-NewsBlogs/' => 'Robot MSN NewsBlogss',
            'msnbot-media/' => 'Robot MSN Media',
            'NG-Search/' => 'Robot NG-Search',
            'http://lucene.apache.org/nutch/' => 'Robot Nutch',
            'NutchCVS/' => 'Robot Nutch/CVS',
            'OmniExplorer_Bot/' => 'Robot OmniExplorer',
            'online link validator' => 'Robot Online link',
            'psbot/0' => 'Robot Picsearch',
            'Seekbot/' => 'Robot Seekport',
            'Sensis Web Crawler' => 'Robot Sensis',
            'SEO search Crawler/' => 'Robot SEO Crawler',
            'Seoma [SEO Crawler]' => 'Robot Seoma',
            'SEOsearch/' => 'Robot SEOSearch',
            'Snappy/1.1 ( http://www.urltrends.com/ )' => 'Robot Snappy',
            'http://www.tkl.iis.u-tokyo.ac.jp/~crawler/' => 'Robot Steeler',
            'SynooBot/' => 'Robot Synoo',
            'crawleradmin.t-info@telekom.de' => 'Robot Telekom',
            'TurnitinBot/' => 'Robot Turnitin',
            'voyager/1.0' => 'Robot Voyager',
            'W3 SiteSearch Crawler' => 'Robot W3 [Sitesearch]',
            'W3C-checklink/' => 'Robot W3C [Linkcheck]',
            'W3C_*Validator' => 'Robot W3C [Validator]',
            'http://www.WISEnutbot.com' => 'Robot WiseNut',
            'yacybot' => 'Robot YaCy',
            'Yahoo-MMCrawler/' => 'Robot Yahoo MMCrawler',
            'YahooSeeker/' => 'Robot YahooSeeker',
        );   
   
        $HTTP_USER_AGENT_ = "";
        foreach($remap_agents as $cle=>$valeur)
            {
                if ( preg_match( '/('.str_replace("/","\/",$cle).')/i', $_SERVER['HTTP_USER_AGENT'], $match ) ) {   
                $HTTP_USER_AGENT_ = $valeur;   
            }
            }
       $this->connected_position = $position;
       $conid = $this->logged ? $this->userid : (int)str_pad(substr(str_replace('.','',$_SERVER['REMOTE_ADDR']),0,11),10,'0') ;
       $GLOBALS['cb_db']->query('REPLACE DELAYED INTO '.$GLOBALS['cb_db']->prefix.'connected(con_ip,con_id,con_timestamp,con_position,con_user_agent) VALUES('.ip2long($_SERVER['REMOTE_ADDR']).','.$conid.','.time().',\''.$this->connected_position.'\',\''.$HTTP_USER_AGENT_.'\')');
       if (mt_rand(0,100) < 2) $GLOBALS['cb_db']->query('DELETE FROM '.$GLOBALS['cb_db']->prefix.'connected WHERE con_timestamp<'.(time()-($GLOBALS['cb_cfg']->config['connectedlimit']*60)));
   }


*Dans include/parts/part.general.php
Cherchez :
/* Affichage des utilisateurs connectés sur cette partie du site. */
if ($_SESSION['cb_user']->connected_position=='index' || $GLOBALS['cb_cfg']->config['displayconnected']=='yes') {
   $returncon = $GLOBALS['cb_db']->query('SELECT usr_id,usr_name,usr_class
       FROM '.$GLOBALS['cb_db']->prefix.'connected
       LEFT OUTER JOIN '.$GLOBALS['cb_db']->prefix.'users ON usr_id=con_id
       WHERE con_position LIKE \''.$_SESSION['cb_user']->connected_position.'%\' AND con_timestamp>'.(time()-($GLOBALS['cb_cfg']->config['connectedlimit']*60)).'
       ORDER BY con_timestamp DESC');
   
   require_once(CB_CACHE_CLASSES);
   
   $contents='';
   $nummembers=0;
   $numguests=0;
   while ($fetch=$GLOBALS['cb_db']->fetch_assoc($returncon)) {
       if (isset($fetch['usr_id'])) {
           $contents.=((!empty($contents))?' - ':'').'<a href="'.manage_url('index.php?act=user&amp;showprofile='.$fetch['usr_id'],'forum-m'.$fetch['usr_id'].','.rewrite_words($fetch['usr_name']).'.html').'" title="'.$GLOBALS['cb_classes'][$fetch['usr_class']]['gr_name'].'" '.((!empty($GLOBALS['cb_classes'][$fetch['usr_class']]['gr_color']))?'style="color:'.$GLOBALS['cb_classes'][$fetch['usr_class']]['gr_color'].';"':'').'>'.$fetch['usr_name'].'</a>';
           $nummembers++;
           
       } else{
       $numguests++;
       }
   }

   if (preg_match('`^index_[0-9]+$`',$_SESSION['cb_user']->connected_position))
       $position = 'index_f';
   elseif (preg_match('`^index(_[0-9]+)+$`',$_SESSION['cb_user']->connected_position))
       $position = 'index_tg';
   elseif (preg_match('`^index(_[0-9]+)+_t_[0-9]+$`',$_SESSION['cb_user']->connected_position))
       $position = 'index_t';
   elseif (preg_match('`^index(_[0-9]+)+_t_[0-9]+_wm$`',$_SESSION['cb_user']->connected_position))
       $position = 'index_t_wm';
   elseif (preg_match('`^index(_[0-9]+)+_wm$`',$_SESSION['cb_user']->connected_position))
       $position = 'index_tg_wm';
   else $position = $_SESSION['cb_user']->connected_position;

   $GLOBALS['cb_tpl']->assign(array(
       'g_displayconnected' => true,
       'g_membersconnectedtype' => $position,
       'g_membersconnected' => $contents,
       'g_connected_nummembers' => $nummembers,
       'g_connected_numguests' => $numguests,
       'g_connected_total' => ($nummembers+$numguests),
       'g_connected_minutes' => getTimeFormat($GLOBALS['cb_cfg']->config['connectedlimit']*60)
       ));
} else $GLOBALS['cb_tpl']->assign('g_displayconnected',false);


Et remplacez par cela :
/* Affichage des utilisateurs connectés sur cette partie du site. */
if ($_SESSION['cb_user']->connected_position=='index' || $GLOBALS['cb_cfg']->config['displayconnected']=='yes') {
   $returncon = $GLOBALS['cb_db']->query('SELECT usr_id,usr_name,usr_class,con_user_agent
       FROM '.$GLOBALS['cb_db']->prefix.'connected
       LEFT OUTER JOIN '.$GLOBALS['cb_db']->prefix.'users ON usr_id=con_id
       WHERE con_position LIKE \''.$_SESSION['cb_user']->connected_position.'%\' AND con_timestamp>'.(time()-($GLOBALS['cb_cfg']->config['connectedlimit']*60)).'
       ORDER BY con_timestamp DESC');
   
   require_once(CB_CACHE_CLASSES);
   
   $contents='';
   $nummembers=0;
   $numguests=0;
   while ($fetch=$GLOBALS['cb_db']->fetch_assoc($returncon)) {
       if (isset($fetch['usr_id'])) {
           $contents.=((!empty($contents))?' - ':'').'<a href="'.manage_url('index.php?act=user&amp;showprofile='.$fetch['usr_id'],'forum-m'.$fetch['usr_id'].','.rewrite_words($fetch['usr_name']).'.html').'" title="'.$GLOBALS['cb_classes'][$fetch['usr_class']]['gr_name'].'" '.((!empty($GLOBALS['cb_classes'][$fetch['usr_class']]['gr_color']))?'style="color:'.$GLOBALS['cb_classes'][$fetch['usr_class']]['gr_color'].';"':'').'>'.$fetch['usr_name'].'</a>';
           $nummembers++;
           
       } else{
            if (!empty($fetch['con_user_agent'])) {
               $contents.=((!empty($contents))?' - ':'').$fetch['con_user_agent'];

           }
       $numguests++;
       }
   }

   if (preg_match('`^index_[0-9]+$`',$_SESSION['cb_user']->connected_position))
       $position = 'index_f';
   elseif (preg_match('`^index(_[0-9]+)+$`',$_SESSION['cb_user']->connected_position))
       $position = 'index_tg';
   elseif (preg_match('`^index(_[0-9]+)+_t_[0-9]+$`',$_SESSION['cb_user']->connected_position))
       $position = 'index_t';
   elseif (preg_match('`^index(_[0-9]+)+_t_[0-9]+_wm$`',$_SESSION['cb_user']->connected_position))
       $position = 'index_t_wm';
   elseif (preg_match('`^index(_[0-9]+)+_wm$`',$_SESSION['cb_user']->connected_position))
       $position = 'index_tg_wm';
   else $position = $_SESSION['cb_user']->connected_position;

   $GLOBALS['cb_tpl']->assign(array(
       'g_displayconnected' => true,
       'g_membersconnectedtype' => $position,
       'g_membersconnected' => $contents,
       'g_connected_nummembers' => $nummembers,
       'g_connected_numguests' => $numguests,
       'g_connected_total' => ($nummembers+$numguests),
       'g_connected_minutes' => getTimeFormat($GLOBALS['cb_cfg']->config['connectedlimit']*60)
       ));
} else $GLOBALS['cb_tpl']->assign('g_displayconnected',false);


*Dans include/parts/part.connusers.php
Cherchez :
/* Moment d'exécution de la page... */
$time = time();

$return = $GLOBALS['cb_db']->query('SELECT con_timestamp,con_position,usr_id,usr_name,gr_name,gr_color
   FROM '.$GLOBALS['cb_db']->prefix.'connected c
   LEFT OUTER JOIN '.$GLOBALS['cb_db']->prefix.'users u ON c.con_id=u.usr_id
   LEFT OUTER JOIN '.$GLOBALS['cb_db']->prefix.'groups g ON g.gr_id=u.usr_class
   WHERE con_timestamp>'.($time-($GLOBALS['cb_cfg']->config['connectedlimit']*60)).'
   ORDER BY con_timestamp DESC');


Et remplacez par cela :
/* Moment d'exécution de la page... */
$time = time();

$return = $GLOBALS['cb_db']->query('SELECT con_timestamp,con_position,con_user_agent,usr_id,usr_name,gr_name,gr_color
   FROM '.$GLOBALS['cb_db']->prefix.'connected c
   LEFT OUTER JOIN '.$GLOBALS['cb_db']->prefix.'users u ON c.con_id=u.usr_id
   LEFT OUTER JOIN '.$GLOBALS['cb_db']->prefix.'groups g ON g.gr_id=u.usr_class
   WHERE con_timestamp>'.($time-($GLOBALS['cb_cfg']->config['connectedlimit']*60)).'
   ORDER BY con_timestamp DESC');


Cherchez :
/* Affichage des utilisateurs */
$people = array();
while ($ppl=$GLOBALS['cb_db']->fetch_assoc($return)) {
   $pos = getUserLocation ($ppl['con_position']);

   $people[] = array(
       'ppl_location'     => 'ttl_'.$pos['position'],
       'ppl_f'         => $pos['f'],
       'ppl_tg'        => $pos['tg'],
       'ppl_link'         => ((isset($ppl['usr_id']))?'<a href="'.manage_url('index.php?act=user&amp;showprofile='.$ppl['usr_id'],'forum-m'.$ppl['usr_id'].','.rewrite_words($ppl['usr_name']).'.html').'" title="'.$ppl['gr_name'].'" style="color:'.$ppl['gr_color'].';">'.$ppl['usr_name'].'</a>':''),
       'ppl_lastclick' => dateFormat($ppl['con_timestamp'])
       );
}


Et remplacez par cela :
/* Affichage des utilisateurs */
$people = array();
while ($ppl=$GLOBALS['cb_db']->fetch_assoc($return)) {
   $pos = getUserLocation ($ppl['con_position']);

   $people[] = array(
       'ppl_location'     => 'ttl_'.$pos['position'],
       'ppl_f'         => $pos['f'],
       'ppl_tg'        => $pos['tg'],
       'ppl_link'         => ((isset($ppl['usr_id']))?'<a href="'.manage_url('index.php?act=user&amp;showprofile='.$ppl['usr_id'],'forum-m'.$ppl['usr_id'].','.rewrite_words($ppl['usr_name']).'.html').'" title="'.$ppl['gr_name'].'" style="color:'.$ppl['gr_color'].';">'.$ppl['usr_name'].'</a>':''),
       'ppl_bot'        => ((isset($ppl['con_user_agent']))?$ppl['con_user_agent']:''),
       'ppl_lastclick' => dateFormat($ppl['con_timestamp'])
       );
}


*Dans templates/Official/part.connusers.php
Cherchez :
<td class="ppl_name">
               <?php if ( !empty($ppl['ppl_link']) ): ?><?php echo $ppl['ppl_link']; ?><?php else: ?><span class="i"><?php echo lang('cu_guest'); ?></span><?php endif; ?>
           </td>


Et remplacez par cela :
<td class="ppl_name">
               <?php if ( !empty($ppl['ppl_link']) ): ?><?php echo $ppl['ppl_link']; ?><?php endif; if( !empty($ppl['ppl_bot']) ): ?><?php echo $ppl['ppl_bot'];?><?php endif;  if( empty($ppl['ppl_bot']) && empty($ppl['ppl_link']) ): ?><span class="i"><?php echo lang('cu_guest'); ?></span><?php endif; ?>
           </td>



Voilà, ce mod est près à l'utilisation.

Mises à jour :
19/04/2010 : Modification de la liste des robots et de la façon dont on cherche les robots dans le fichiers class.user.php .
Ce message a été édité par KaNa le 19/04/2010 à 11h09.
Etudiant @ CPE Lyon
Administrateur de Webechange.org Nouveau site !!!
Administrateur de NeXteam.net En préparation pour la V2.0
kristoch #2 18/04/2010 - 18h52

Groupe : Acharné
Messages : 342
Enregistré le : 05/08/2009

Hors ligne Site Web

c'est super mais ai du mal à comprendre le truc: ça reconnait les robots?!
mais ça va chercher où les adresses IP et l'identification?
ça fonctionne comment ce truc?

d'autre part comme il n'y a pas de capture pour voir, j'aimerais savoir s'ils sont distingués par une couleur et ce que ça donne quand on clique dessus comme on peut le faire pour les membres: rien?

enfin tous les robots non spammeurs sont recensés, listés et reconnus?
il n'en manque aucun?

merci d'avance pour toutes ces précisions!
un de mes blogs : chachacha
KaNa #3 18/04/2010 - 19h03

Groupe : Habitué
Messages : 82
Enregistré le : 28/05/2006

Hors ligne Site Web

kristoch @ 18/04/2010 - 18h52 a dit:

c'est super mais ai du mal à comprendre le truc: ça reconnait les robots?!
mais ça va chercher où les adresses IP et l'identification?
ça fonctionne comment ce truc?

d'autre part comme il n'y a pas de capture pour voir, j'aimerais savoir s'ils sont distingués par une couleur et ce que ça donne quand on clique dessus comme on peut le faire pour les membres: rien?

enfin tous les robots non spammeurs sont recensés, listés et reconnus?
il n'en manque aucun?

merci d'avance pour toutes ces précisions!



Alors, comment ça reconnait les robots ?
Par leur HTTP_USER_AGENT (celle identifie le navigateur de l'utilisateur, et c'est donc avec ça que l'on voit de quel robot il s'agit ) avec cette ligne :
preg_match( '/(googlebot|ia_archiver|Lycos_Spider_(T-Rex)|Slurp|msnbot|Scooter|ArchitextSpider|ArchitectSpider|VoilaBot|Exabot|Gigabot|Mercator|Googlebot-Image|DeepIndex|FAST-WebCrawler|Ask Jeeves|Teoma|Pompos|ZyBorg|HenriLeRobotMirago|Openbot|Mediapartners-Google|NG)/i', $_SERVER['HTTP_USER_AGENT'], $match ) )

J'ai mis des captures, pour voir le rendu.
Pour le moment, la couleur des robots et la même que celle des invités, si tu veux modifier la couleur il faut modifier cette ligne dans templates/Official/part.connusers.php :

<td class="ppl_name">
              <?php if ( !empty($ppl['ppl_link']) ): ?><?php echo $ppl['ppl_link']; ?><?php endif; if( !empty($ppl['ppl_bot']) ): ?><?php echo $ppl['ppl_bot'];?><?php endif;  if( empty($ppl['ppl_bot']) && empty($ppl['ppl_link']) ): ?><span class="i"><?php echo lang('cu_guest'); ?></span><?php endif; ?>
          </td>


En rouge ici, on affiche le nom du Robot, donc si tu veux lui mettre une couleur il suffit de mettre autour une balise span avec une couleur que tu choisis.

Pour ceux qui est de la liste, je ne sais pas si elle est à jour, je me suis servis d'une présente sur Internet, mais si quelqu'un en trouve une récente j'apporterai les modifications ;) .

Cordialement,

KaNa.
Ce message a été édité par KaNa le 18/04/2010 à 19h23.
Etudiant @ CPE Lyon
Administrateur de Webechange.org Nouveau site !!!
Administrateur de NeXteam.net En préparation pour la V2.0
Ishimaru Chiaki #4 18/04/2010 - 23h04

Groupe : Doc-rédacteur
Messages : 800
Enregistré le : 12/03/2008

Hors ligne Site Web

Pour la liste des robots de moteurs de recherche, j'ai un phpBB3 en local et les user agent des robots sont stockés dans une table.  Voici le contenu de ma table :
-- phpMyAdmin SQL Dump
-- version 3.1.2deb1ubuntu0.2
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Apr 18, 2010 at 05:02 PM
-- Server version: 5.0.75
-- PHP Version: 5.2.6-3ubuntu4.5

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `phpbb3`
--

-- --------------------------------------------------------

--
-- Table structure for table `phpbb3_bots`
--

CREATE TABLE `phpbb3_bots` (
 `bot_id` mediumint(8) unsigned NOT NULL auto_increment,
 `bot_active` tinyint(1) unsigned NOT NULL default '1',
 `bot_name` varchar(255) collate utf8_bin NOT NULL default '',
 `user_id` mediumint(8) unsigned NOT NULL default '0',
 `bot_agent` varchar(255) collate utf8_bin NOT NULL default '',
 `bot_ip` varchar(255) collate utf8_bin NOT NULL default '',
 PRIMARY KEY  (`bot_id`),
 KEY `bot_active` (`bot_active`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=51 ;

--
-- Dumping data for table `phpbb3_bots`
--

INSERT INTO `phpbb3_bots` VALUES(1, 1, 'AdsBot [Google]', 3, 'AdsBot-Google', '');
INSERT INTO `phpbb3_bots` VALUES(2, 1, 'Alexa [Bot]', 4, 'ia_archiver', '');
INSERT INTO `phpbb3_bots` VALUES(3, 1, 'Alta Vista [Bot]', 5, 'Scooter/', '');
INSERT INTO `phpbb3_bots` VALUES(4, 1, 'Ask Jeeves [Bot]', 6, 'Ask Jeeves', '');
INSERT INTO `phpbb3_bots` VALUES(5, 1, 'Baidu [Spider]', 7, 'Baiduspider+(', '');
INSERT INTO `phpbb3_bots` VALUES(6, 1, 'Exabot [Bot]', 8, 'Exabot/', '');
INSERT INTO `phpbb3_bots` VALUES(7, 1, 'FAST Enterprise [Crawler]', 9, 'FAST Enterprise Crawler', '');
INSERT INTO `phpbb3_bots` VALUES(8, 1, 'FAST WebCrawler [Crawler]', 10, 'FAST-WebCrawler/', '');
INSERT INTO `phpbb3_bots` VALUES(9, 1, 'Francis [Bot]', 11, 'http://www.neomo.de/', '');
INSERT INTO `phpbb3_bots` VALUES(10, 1, 'Gigabot [Bot]', 12, 'Gigabot/', '');
INSERT INTO `phpbb3_bots` VALUES(11, 1, 'Google Adsense [Bot]', 13, 'Mediapartners-Google', '');
INSERT INTO `phpbb3_bots` VALUES(12, 1, 'Google Desktop', 14, 'Google Desktop', '');
INSERT INTO `phpbb3_bots` VALUES(13, 1, 'Google Feedfetcher', 15, 'Feedfetcher-Google', '');
INSERT INTO `phpbb3_bots` VALUES(14, 1, 'Google [Bot]', 16, 'Googlebot', '');
INSERT INTO `phpbb3_bots` VALUES(15, 1, 'Heise IT-Markt [Crawler]', 17, 'heise-IT-Markt-Crawler', '');
INSERT INTO `phpbb3_bots` VALUES(16, 1, 'Heritrix [Crawler]', 18, 'heritrix/1.', '');
INSERT INTO `phpbb3_bots` VALUES(17, 1, 'IBM Research [Bot]', 19, 'ibm.com/cs/crawler', '');
INSERT INTO `phpbb3_bots` VALUES(18, 1, 'ICCrawler - ICjobs', 20, 'ICCrawler - ICjobs', '');
INSERT INTO `phpbb3_bots` VALUES(19, 1, 'ichiro [Crawler]', 21, 'ichiro/', '');
INSERT INTO `phpbb3_bots` VALUES(20, 1, 'Majestic-12 [Bot]', 22, 'MJ12bot/', '');
INSERT INTO `phpbb3_bots` VALUES(21, 1, 'Metager [Bot]', 23, 'MetagerBot/', '');
INSERT INTO `phpbb3_bots` VALUES(22, 1, 'MSN NewsBlogs', 24, 'msnbot-NewsBlogs/', '');
INSERT INTO `phpbb3_bots` VALUES(23, 1, 'MSN [Bot]', 25, 'msnbot/', '');
INSERT INTO `phpbb3_bots` VALUES(24, 1, 'MSNbot Media', 26, 'msnbot-media/', '');
INSERT INTO `phpbb3_bots` VALUES(25, 1, 'NG-Search [Bot]', 27, 'NG-Search/', '');
INSERT INTO `phpbb3_bots` VALUES(26, 1, 'Nutch [Bot]', 28, 'http://lucene.apache.org/nutch/', '');
INSERT INTO `phpbb3_bots` VALUES(27, 1, 'Nutch/CVS [Bot]', 29, 'NutchCVS/', '');
INSERT INTO `phpbb3_bots` VALUES(28, 1, 'OmniExplorer [Bot]', 30, 'OmniExplorer_Bot/', '');
INSERT INTO `phpbb3_bots` VALUES(29, 1, 'Online link [Validator]', 31, 'online link validator', '');
INSERT INTO `phpbb3_bots` VALUES(30, 1, 'psbot [Picsearch]', 32, 'psbot/0', '');
INSERT INTO `phpbb3_bots` VALUES(31, 1, 'Seekport [Bot]', 33, 'Seekbot/', '');
INSERT INTO `phpbb3_bots` VALUES(32, 1, 'Sensis [Crawler]', 34, 'Sensis Web Crawler', '');
INSERT INTO `phpbb3_bots` VALUES(33, 1, 'SEO Crawler', 35, 'SEO search Crawler/', '');
INSERT INTO `phpbb3_bots` VALUES(34, 1, 'Seoma [Crawler]', 36, 'Seoma [SEO Crawler]', '');
INSERT INTO `phpbb3_bots` VALUES(35, 1, 'SEOSearch [Crawler]', 37, 'SEOsearch/', '');
INSERT INTO `phpbb3_bots` VALUES(36, 1, 'Snappy [Bot]', 38, 'Snappy/1.1 ( http://www.urltrends.com/ )', '');
INSERT INTO `phpbb3_bots` VALUES(37, 1, 'Steeler [Crawler]', 39, 'http://www.tkl.iis.u-tokyo.ac.jp/~crawler/', '');
INSERT INTO `phpbb3_bots` VALUES(38, 1, 'Synoo [Bot]', 40, 'SynooBot/', '');
INSERT INTO `phpbb3_bots` VALUES(39, 1, 'Telekom [Bot]', 41, 'crawleradmin.t-info@telekom.de', '');
INSERT INTO `phpbb3_bots` VALUES(40, 1, 'TurnitinBot [Bot]', 42, 'TurnitinBot/', '');
INSERT INTO `phpbb3_bots` VALUES(41, 1, 'Voyager [Bot]', 43, 'voyager/1.0', '');
INSERT INTO `phpbb3_bots` VALUES(42, 1, 'W3 [Sitesearch]', 44, 'W3 SiteSearch Crawler', '');
INSERT INTO `phpbb3_bots` VALUES(43, 1, 'W3C [Linkcheck]', 45, 'W3C-checklink/', '');
INSERT INTO `phpbb3_bots` VALUES(44, 1, 'W3C [Validator]', 46, 'W3C_*Validator', '');
INSERT INTO `phpbb3_bots` VALUES(45, 1, 'WiseNut [Bot]', 47, 'http://www.WISEnutbot.com', '');
INSERT INTO `phpbb3_bots` VALUES(46, 1, 'YaCy [Bot]', 48, 'yacybot', '');
INSERT INTO `phpbb3_bots` VALUES(47, 1, 'Yahoo MMCrawler [Bot]', 49, 'Yahoo-MMCrawler/', '');
INSERT INTO `phpbb3_bots` VALUES(48, 1, 'Yahoo Slurp [Bot]', 50, 'Yahoo! DE Slurp', '');
INSERT INTO `phpbb3_bots` VALUES(49, 1, 'Yahoo [Bot]', 51, 'Yahoo! Slurp', '');
INSERT INTO `phpbb3_bots` VALUES(50, 1, 'YahooSeeker [Bot]', 52, 'YahooSeeker/', '');
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici

Mon fil Twitter
KaNa #5 19/04/2010 - 02h35

Groupe : Habitué
Messages : 82
Enregistré le : 28/05/2006

Hors ligne Site Web

Merci à toi Ishimaru Chiaki, je mettrais le code à jour dans la semaine :) .

Bien sur, j'ai proposé cette manière de procéder, mais si quelqu'un en voit une plus simple, je suis pas contre :) .
Etudiant @ CPE Lyon
Administrateur de Webechange.org Nouveau site !!!
Administrateur de NeXteam.net En préparation pour la V2.0
Jeff #6 19/04/2010 - 09h10

Groupe : Habitué
Messages : 114
Enregistré le : 20/10/2009

Hors ligne

Un petit constat fait la semaine passée sur les stats de mon FAI, j'ai environ une dizaine de bots provenant d'adresses .ru, .cn, un .gr ainsi qu'un en .it.

Je crois que les listes de bots ne peuvent plus être mis à jour tant il y en a qui apparaissent chaques jours et il y en a des violents...  :dev:

Une liste non exhaustive trouvée sur le net :

A
AbiLogic   Accoona   AdSense   aipbot   Alexa   almaden   AOL France   appie   Ask Jeeves   ASPseek
B
Baidu   baiduspider   BecomeBot   Bloglines   BlogPulse   Boitho   btbot   Burf.com
C
Camcrawler   Camdiscover   Cerberian   cfetch   Charlotte   CheckWeb   Combine   Cosmix   cuill.com
D
DataCha0s   DataparkSearch   dir.com   DTS Agent
E
e-SocietyRobot   Enfin   Everbee   exabot   Exabot-Images   Exalead
F
Fast Search   Filangy   Findexa   FindLinks   FURL
G
genieBot   Gigablast   gigabot   Girafa   Google AdSense   Google Image   Googlebot   Googlebot-Image   Gossamer Links   grub
H
Healthline   HenryTheMiragoRobot   Heritrix
I
ia_archiver   IBM WebFountain   ichiro   Ipselon   ipselonbot   IRL crawler   IRLbot
J
Java   Jeeves
K
Kavam   Kosmix   Krugle
L
Lapozz   Larbin   Link Valet   LinkChecker   LinksManager   linksmanager_bot   LinkWalker   Local.com   LocalcomBot   LookSmart   LOOP Improvements   Lycos Spider
M
Majestic-12   Mediapartners-Google*   MetaWeb Crawler   Mirago   Misterbot   MJ12bot   MMCrawler   mnoGoSearch   MojeekBot   msnbot   MSNPTC   MSRA   MSRBot   Mylinea
N
NaverBot   NetResearchServer   Nexen   NextGenSearchBot   NG   NimbleCrawler   Norbert   noXtrum   Nusearch   Nutch
O
Omni-Explorer   OnetSzukaj   oo-x   Orangeslicer   Orbiter   Oxado
P
PeerFactor   PHP version tracker   Picsearch   Plantynet   pmafind   pompos   Poodle   psbot   psycheclone
Q
QweeryBot
R
Rambler   RedKernel   Rufus Web Miner
S
SAGOOL   SandCrawler   SBIder   Scirus   Searchmee   SearchSerf   Secure Computing   seekbot   Seekport   sensis.com.au   Shim-Crawler   ShopWiki   Singingfish   SiteSell.com   Slurp   snafu   Snapbot   SoGou   SOHU.com   Sproose   SquidClamAV   StackRambler   SurveyBot   SygolBot
T
Teoma   tilman   TLink   TMCrawler   Turnitin   Twiceler
U
Ulysseek
V
Vagabondo   Voila   Voyager
W
Wadaino   Walhello   WebFilter   WebFountain   Whois Source   WinkBot   WiseNut   WorldIndexer   wwwster   WyseGuys
X
Xenu
Y
Y!J-BSC   YaCy   Yahoo! Slurp   Yahoo-Blogs   Yahoo-MMCrawler
Z
Zeusbot   ZoomInfo   ZyBorg
Ce message a été édité par Jeff le 19/04/2010 à 09h17.
KaNa #7 19/04/2010 - 10h16

Groupe : Habitué
Messages : 82
Enregistré le : 28/05/2006

Hors ligne Site Web

Voilà, j'ai mis à jour la liste comme j'ai pu, j'ai vu ce matin sur mon site le Robot Aol, Adsense et Yahoo! .

4 personne(s) présente(s) durant une période de 10 minutes (1 membre(s) et 3 invité(s)).
Membre(s) connecté(s) sur cette section (tous les forums) : Martin - Robot Adsense - Robot Baidu - Robot Baidu

Ce message a été édité par KaNa le 19/04/2010 à 11h40.
Etudiant @ CPE Lyon
Administrateur de Webechange.org Nouveau site !!!
Administrateur de NeXteam.net En préparation pour la V2.0

 >  Réponse rapide

Composez votre message

Connectix Boards > Zone développement > Programmation > [MOD] Reconnaissance des Robots

 >  Informations du forum

1 personne(s) présente(s) durant une période de 15 minutes (0 membre(s) et 1 invité(s)).