Aide générale Bloquer des robots indésirables
Bonjour.
J'ai suivi un tutoriel pour bloquer des robots indésirables sur mon site.
J'aimerai avoir votre avis d'une part, mais j'aimerai aussi savoir si j'ai tout fait correctement.
Voici mon index.php :
J'aimerai savoir si j'ai bien fait de mettre " ./unwantedBots.php " au lieu de " unwantedBots.php "
Je me suis fié à l'include en haut " ./kernel/......."
Voici le fichier .php avec la liste des robots indésirables :
Merci
J'ai suivi un tutoriel pour bloquer des robots indésirables sur mon site.
J'aimerai avoir votre avis d'une part, mais j'aimerai aussi savoir si j'ai tout fait correctement.
Voici mon index.php :
Code PHP :
<?php /*################################################## * index.php * ------------------- * begin : August 23 2007 * copyright : (C) 2007 CrowkaiT * email : [email protected] * * ################################################### * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ###################################################*/ define('PATH_TO_ROOT', './'); @include_once('./kernel/db/config.php'); //Fichier de configuration (pour savoir si PHPBoost est installé) unset($sql_host, $sql_login, $sql_pass); //Destruction des identifiants bdd (on n'en a pas besoin sur cette page) require_once('./kernel/framework/functions.inc.php'); $CONFIG = array(); //Chargement manuel de la configuration générale @include_once('./cache/config.php'); //Si PHPBoost n'est pas installé, on renvoie vers l'installateur if (!defined('PHPBOOST_INSTALLED')) { import('util/unusual_functions', INC_IMPORT); redirect(get_server_url_page('install/install.php')); } elseif (empty($CONFIG)) { // Si la configuration n'existe pas mais que PHPBoost est installé // on renvoie vers la page membre du noyau dont on est sûr qu'elle existe import('util/unusual_functions', INC_IMPORT); redirect(get_server_url_page('member/member.php')); } //Sinon, c'est que tout a bien marché, on renvoie sur la page de démarrage define('DIR', $CONFIG['server_path']); define('HOST', $CONFIG['server_name']); $start_page = get_start_page(); if ($start_page != HOST . DIR . '/index.php' && $start_page != './index.php') //Empêche une boucle de redirection. redirect($start_page); else redirect(HOST . DIR . '/member/member.php'); include './unwantedBots.php'; ?>
J'aimerai savoir si j'ai bien fait de mettre " ./unwantedBots.php " au lieu de " unwantedBots.php "
Je me suis fié à l'include en haut " ./kernel/......."
Code PHP :
include './unwantedBots.php';
Voici le fichier .php avec la liste des robots indésirables :
Code PHP :
<?php $httpUserAgent = null; if(isset($_SERVER['HTTP_USER_AGENT'])) { $httpUserAgent = $_SERVER['HTTP_USER_AGENT']; $unwanted = array( "007ac9", // Mozilla/5.0 (compatible; 007ac9 Crawler; http://crawler.007ac9.net/) "7zap", // http://volkswagen.7zap.com/;Mozilla/4.61 [en] (X11; U; ) - BrowseX (2.0.0 Windows) "admantx", // ADmantX Platform Semantic Analyzer - ADmantX Inc. - www.admantx.com - [email protected] "ahrefsbot", // Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/) "archive-org.com", "baiduspider", // Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html) "betabot", // betaBot "blexbot", // Mozilla/5.0 (compatible; BLEXBot/1.0; +http://webmeup-crawler.com/) "ccbot", // CCBot/2.0 (http://commoncrawl.org/faq/) "cmscrawler", // Mozilla/4.0 (CMS Crawler: http://www.cmscrawler.com) "contextad bot", // ContextAd Bot 1.0 "cognitiveseo", // Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.10) Gecko/20050716 Thunderbird/1.0.6 - WebCrawler http://cognitiveseo.com/bot.html "crystalsemantics", // CrystalSemanticsBot http://www.crystalsemantics.com/service-navigation/imprint/useragent/) "domainoptima", // http://www.domainoptima.com/robot) "domainsigma", // Mozilla/5.0 (compatible; DomainSigmaCrawler/0.1; +http://domainsigma.com/robot) "dotbot", // Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, [email protected]) "easouspider", // Mozilla/5.0 (compatible; EasouSpider; +http://www.easou.com/search/spider.html) "exabot", // Mozilla/5.0 (compatible; Exabot/3.0; +http://www.exabot.com/go/robot) "fr-crawler", // Mozilla/5.0 (compatible; fr-crawler/1.1) "genieo", // Mozilla/5.0 (compatible; Genieo/1.0 http://www.genieo.com/webfilter.html) "golden-praga", // http://golden-praga.ru/;Opera/7.11 (Windows NT 5.1; U) [en] "httpclient", // Apache-HttpClient/4.2.3 (java 1.5) "grapeshotcrawler", // Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php) "ia_archiver", // ia_archiver (+http://www.alexa.com/site/help/webmasters; [email protected]) "james bot", // ;Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6 - James BOT - WebCrawler http://cognitiveseo.com/bot.html "leikibot", // Mozilla/5.0 (Windows NT 6.3;compatible; Leikibot/1.0; +http://www.leiki.com) "libcurl", // curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 "linkdexbot", // Mozilla/5.0 (compatible; linkdexbot/2.0; +http://www.linkdex.com/bots/) "lipperhey", // Mozilla/5.0 (compatible; Lipperhey SEO Service; http://www.lipperhey.com/) "livelap", // "LivelapBot/0.2 (http://site.livelap.com/crawler) "lssrocket", // LSSRocketCrawler/1.0 LightspeedSystems "magpie", // magpie-crawler/1.1 (U; Linux amd64; en-GB; +http://www.brandwatch.net) "meanpathbot", // Mozilla/5.0 (compatible; meanpathbot/1.0; +http://www.meanpath.com/meanpathbot.html) "memorybot", // Mozilla/5.0 (compatible; memoryBot/1.20.311 +http://internetmemory.org/en/) "mj12bot", // Mozilla/5.0 (compatible; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+) "nerdybot", // NerdyBot "netseer", // Mozilla/5.0 (compatible; NetSeer crawler/2.0; +http://www.netseer.com/crawler.html; [email protected]) "nutch", // Kraken/Nutch-2.2.1 (Nutch crawler launched by Integral Ad Science, Inc.; TBD; TBD) "pleasebot", // Mozilla/5.0 (compatible; 200PleaseBot/1.0; +http://www.200please.com/bot) "proximic", // Mozilla/5.0 (compatible; proximic; +http://www.proximic.com/info/spider.php) "safesearch", // SafeSearch microdata crawler (https://safesearch.avira.com, [email protected]) "semalt", // http://semalt.semalt.com/crawler.php? "semrushbot", // Mozilla/5.0 (compatible; SemrushBot/0.98~bl; +http://www.semrush.com/bot.html) "slurp", // Yahoo! Slurp "stackoverflow", // http://meta.stackoverflow.com/q/130398 "riddler", // Riddler (http://riddler.io/about) "ru_bot", // Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots) "SearchmetricsBot", // Mozilla/5.0 (compatible; SearchmetricsBot; http://www.searchmetrics.com/en/searchmetrics-bot/) "seokicks", // Mozilla/5.0 (compatible; SEOkicks-Robot; +http://www.seokicks.de/robot.html) "seznambot", // Mozilla/5.0 (compatible; SeznamBot/3.2; +http://fulltext.sblog.cz/) "showyoubot", // ShowyouBot (http://showyou.com/crawler) "sistrix", // Mozilla/5.0 (compatible; SISTRIX Crawler; http://crawler.sistrix.net/) "smtbot", // Mozilla/5.0 (compatible; SMTBot/1.0; +http://www.similartech.com/smtbot) "spbot", // Mozilla/5.0 (compatible; spbot/4.1.0; +http://OpenLinkProfiler.org/bot ) "spiderbot", // Spiderbot/Nutch-1.7 "sogou", // Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07) "tineye", // moteur indexation images "turnitinbot", // TurnitinBot/3.0 (http://www.turnitin.com/robot/crawlerinfo.html) "twitter", // Twitterbot/1.0 "twittmemebot", // Mozilla/5.0 (TweetmemeBot/4.0; +http://datasift.com/bot.html) Gecko/20100101 Firefox/31.0 "umbot", // Mozilla/5.0 (compatible; uMBot-LN/1.0; mailto: [email protected] "voilabot", // Mozilla/5.0 (Windows NT 5.1; U; Win64; fr; rv:1.8.1) VoilaBot BETA 1.2 ([email protected]) "wotbox", // Wotbox/2.01 (+http://www.wotbox.com/bot/) "xovibot", // Mozilla/5.0 (compatible; XoviBot/2.0; +http://www.xovibot.net/) "yandex", // http://yandex.ru/images/search? ); foreach ($unwanted AS $val) { if (stristr($_SERVER['HTTP_USER_AGENT'], $val) != FALSE) { header("HTTP/1.0 404 Not Found"); readfile('404missing.html'); die; } } }
Merci
Bonjour.
Justement, je ne sait pas .. J'ai suivi le tuto (hors phpboost) .. Dois-je rectifier?
Merci
Justement, je ne sait pas .. J'ai suivi le tuto (hors phpboost) .. Dois-je rectifier?
Merci
Bonjour,
pour éviter tout problème include c'est très bien car cela permet de remonter les erreur plus facilement que include_once.
Après perso je dirais que ce blocage est potentiellement une mauvaise idée car fait en PHP, le mieux serait de bloquer au niveau plus haut donc avec apache et un .htaccess, comme ça les robots n'arriverait même pas à taper les pages PHP.
Aussi là vu que c'est présent uniquement dans le fichier index.php (qui n'est appelé que une seul et unique fois) cela ne sert à rien car par exemple sur le robot tape directement sur un lien du forum il outrepasse la ""protection"".
Si le but est juste de réduire le nombre de robot indexeur, le plus simple est de voir si ils ont un site et une documentation qui permet de leur dire "stop ne visitez plus mon site", les plus sérieux le font donc pas besoin de les bloquer et pour le reste suffit de les refuser via un .htaccess
Note : Cela ne protège absolument en rien contre les robots qui poste des messages de pubs.
Cordialement, janus57
pour éviter tout problème include c'est très bien car cela permet de remonter les erreur plus facilement que include_once.
Après perso je dirais que ce blocage est potentiellement une mauvaise idée car fait en PHP, le mieux serait de bloquer au niveau plus haut donc avec apache et un .htaccess, comme ça les robots n'arriverait même pas à taper les pages PHP.
Aussi là vu que c'est présent uniquement dans le fichier index.php (qui n'est appelé que une seul et unique fois) cela ne sert à rien car par exemple sur le robot tape directement sur un lien du forum il outrepasse la ""protection"".
Si le but est juste de réduire le nombre de robot indexeur, le plus simple est de voir si ils ont un site et une documentation qui permet de leur dire "stop ne visitez plus mon site", les plus sérieux le font donc pas besoin de les bloquer et pour le reste suffit de les refuser via un .htaccess
Note : Cela ne protège absolument en rien contre les robots qui poste des messages de pubs.
Cordialement, janus57
Salut.
Toutes les idées sont bonnes à prendre.
Comment rédiger ce .htaccess ?
Merci.
Toutes les idées sont bonnes à prendre.
Comment rédiger ce .htaccess ?
Merci.
Bonjour,
Plusieurs solutions d'après google :
Perso j'ai jamais eu a mettre ce genre de blocage pour les robots, par contre j'ai déjà du bloquer le réseau TOR car quelqu'un s'amusait sur un de mes sites de tests via TOR.
Cordialement, janus57
Plusieurs solutions d'après google :
Code TEXT :
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*(Baiduspider|HTTrack|Yandex).*$ [NC] RewriteRule .* - [F,L]
Code TEXT :
<IfModule mod_rewrite.c> SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT Deny from env=HTTP_SAFE_BADBOT </ifModule>
Perso j'ai jamais eu a mettre ce genre de blocage pour les robots, par contre j'ai déjà du bloquer le réseau TOR car quelqu'un s'amusait sur un de mes sites de tests via TOR.
Cordialement, janus57
Bonjour.
Ok, je te remercie.
Je voulais savoir uniquement car j'ai toujours le problème de "not connect database user-connection" ou connerie du genre .. J'ai réussi à contrôler Google, mais ce n'est plus lui, ce sont des IP "inconnus" de chez Free, ou Orange .. Et je doute très fortement que quelqu'un s'amuse à faire planter le site de temps en autres et ceci tous les jours ^^ J'ai pas de concurrent, ni d'ennemis, ni quoi que ce soit.
Bref, merci @Janus57
Ok, je te remercie.
Je voulais savoir uniquement car j'ai toujours le problème de "not connect database user-connection" ou connerie du genre .. J'ai réussi à contrôler Google, mais ce n'est plus lui, ce sont des IP "inconnus" de chez Free, ou Orange .. Et je doute très fortement que quelqu'un s'amuse à faire planter le site de temps en autres et ceci tous les jours ^^ J'ai pas de concurrent, ni d'ennemis, ni quoi que ce soit.
Bref, merci @Janus57
Bonjour,
si ce sont des IP de FAI alors ce ne sont peut être pas des robots, c'est soit une utilisation "normale" du site, soit les personnes qui utilise des applications/extension un peu violente dans leur navigateur web.
Je sais que par exemple sous firefox il existe une applications qui peu "booster" le nombre de connexions simultanés à 36 alors que la règlementation RFC autorise maximum 16connexions.
Donc les personnes qui utilisent ce genre d'addons, dans la configuration "extrême" peuvent provoquer ce genre de problème au niveau du site.
Après comme moi il peuvent aussi très bien utiliser un lecteur de flux RSS sur PC + Mobile ce qui fait que régulièrement (toute les 5 minutes pour moi par exemple) le logiciel va taper sur le flux RSS, mais pas sur les pages normal si il est bien conçus.
Pour corriger ce problème sur le long terme la seule solution à mes yeux est de prendre une offre qui permet un nombre plus important de connexion à MySQL.
Car si une fois tout les robots bloqué cela continue bah pas de chance cela viens des visiteurs et donc d'une utilisation normale ou alors de visiteur qui ont des cochonneries sur leur PC (possible aussi).
Cordialement, janus57
si ce sont des IP de FAI alors ce ne sont peut être pas des robots, c'est soit une utilisation "normale" du site, soit les personnes qui utilise des applications/extension un peu violente dans leur navigateur web.
Je sais que par exemple sous firefox il existe une applications qui peu "booster" le nombre de connexions simultanés à 36 alors que la règlementation RFC autorise maximum 16connexions.
Donc les personnes qui utilisent ce genre d'addons, dans la configuration "extrême" peuvent provoquer ce genre de problème au niveau du site.
Après comme moi il peuvent aussi très bien utiliser un lecteur de flux RSS sur PC + Mobile ce qui fait que régulièrement (toute les 5 minutes pour moi par exemple) le logiciel va taper sur le flux RSS, mais pas sur les pages normal si il est bien conçus.
Pour corriger ce problème sur le long terme la seule solution à mes yeux est de prendre une offre qui permet un nombre plus important de connexion à MySQL.
Car si une fois tout les robots bloqué cela continue bah pas de chance cela viens des visiteurs et donc d'une utilisation normale ou alors de visiteur qui ont des cochonneries sur leur PC (possible aussi).
Cordialement, janus57
Salut.
Je suis à 15 connexions, c'est déjà énorme tu ne crois pas?
Cdt.
Je suis à 15 connexions, c'est déjà énorme tu ne crois pas?
Cdt.
m-ickael:
Bonjour,
non je trouve pas ça énorme, je dirais que avec 20/25 ce serait déjà mieux pour une V3 de PHPBoost.
Perso rien qu'avec des tests local (donc moi tout seul + certains logiciels de bench) je suis déjà monté à 10 connexions sur une V4.0 (qui est très proche d'une V3).
Cordialement, janus57
Salut.
Je suis à 15 connexions, c'est déjà énorme tu ne crois pas?
Cdt.
Je suis à 15 connexions, c'est déjà énorme tu ne crois pas?
Cdt.
Bonjour,
non je trouve pas ça énorme, je dirais que avec 20/25 ce serait déjà mieux pour une V3 de PHPBoost.
Perso rien qu'avec des tests local (donc moi tout seul + certains logiciels de bench) je suis déjà monté à 10 connexions sur une V4.0 (qui est très proche d'une V3).
Cordialement, janus57
D'accord .. Ben je ferai avec alors, pas le choix .. Merci.
Salut.
J'ai décidé de mettre le code dans le .htaccess, car j'ai trop d'erreurs, et ça m'énerve vraiment !
J'ai mis le code ci-dessous, dans la configuration avancée.
Est-ce correct? Est-ce suffisant? :
J'ai décidé de mettre le code dans le .htaccess, car j'ai trop d'erreurs, et ça m'énerve vraiment !
J'ai mis le code ci-dessous, dans la configuration avancée.
Est-ce correct? Est-ce suffisant? :
Code TEXT :
Edité par
m-ickael
Le 27/12/2015 à 21h00
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType application/pdf "access plus 1 month" ExpiresByType text/x-javascript "access plus 1 month" ExpiresByType application/x-shockwave-flash "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" ExpiresDefault "access plus 2 days" FileETag none </IfModule> <IfModule mod_expires.c> SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT Deny from env=HTTP_SAFE_BADBOT </IfModule>
Bonjour,
c'est ce qui a été mis dans l'administration avancé de PHPboost ?
Je conseil plus ce code
avec le use-agent des robot mis en adéquations avec ceux qui visitent le site, sinon le code en sert à rien à part manger des ressources en plus pour la vérification.
Ensuite pour ce qui est de cette partie :
il faut savoir que chez nuxit elle sert à rien car visiblement il n'ont pas le mod_expires d'activé (testé avec vtt64)
Cordialement, janus57
c'est ce qui a été mis dans l'administration avancé de PHPboost ?
Je conseil plus ce code
Code TEXT :
RewriteCond %{HTTP_USER_AGENT} ^.*(Baiduspider|HTTrack|Yandex).*$ [NC] RewriteRule .* - [F,L]
avec le use-agent des robot mis en adéquations avec ceux qui visitent le site, sinon le code en sert à rien à part manger des ressources en plus pour la vérification.
Ensuite pour ce qui est de cette partie :
Code TEXT :
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType application/pdf "access plus 1 month" ExpiresByType text/x-javascript "access plus 1 month" ExpiresByType application/x-shockwave-flash "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" ExpiresDefault "access plus 2 days" FileETag none </IfModule>
il faut savoir que chez nuxit elle sert à rien car visiblement il n'ont pas le mod_expires d'activé (testé avec vtt64)
Cordialement, janus57
Bonjour Janus57
Y a t-il une liste des user agent? Car je ne connais pas du tout ceci :/.
Je ne saurai même dire quels bots visitent le site en dehors de Google et Msn :/
Le code que tu me conseil s'insère entre les balises "<IfModule mod_expires.c>...</Ifmodule>" visible dans le .htaccess ou en dehors?
Merci Edité par m-ickael Le 28/12/2015 à 10h47
Y a t-il une liste des user agent? Car je ne connais pas du tout ceci :/.
Je ne saurai même dire quels bots visitent le site en dehors de Google et Msn :/
Le code que tu me conseil s'insère entre les balises "<IfModule mod_expires.c>...</Ifmodule>" visible dans le .htaccess ou en dehors?
Merci Edité par m-ickael Le 28/12/2015 à 10h47
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie