### ********************************** ### THE ULTIMATE NGINX BAD BOT BLOCKER ### ********************************** ### VERSION INFORMATION # ################################################### ### Version: V3.2017.08.827 ### Updated: Tue Aug 22 12:16:24 SAST 2017 ### Bad Referrer Count: 5622 ### Bad Bot Count: 504 ################################################### ### VERSION INFORMATION ## ############################################################################## # _ __ _ # # / |/ /__ _(_)__ __ __ # # / / _ `/ / _ \\ \ / # # /_/|_/\_, /_/_//_/_\_\ # # __/___/ __ ___ __ ___ __ __ # # / _ )___ ____/ / / _ )___ / /_ / _ )/ /__ ____/ /_____ ____ # # / _ / _ `/ _ / / _ / _ \/ __/ / _ / / _ \/ __/ '_/ -_) __/ # # /____/\_,_/\_,_/ /____/\___/\__/ /____/_/\___/\__/_/\_\\__/_/ # # # ############################################################################## ### This file implements a checklist / blacklist for good user agents, bad user agents and ### bad referrers on Nginx Web Server. It also has whitelisting for your own IP's and known good IP Ranges ### and also has rate limiting functionality for bad bots who you only want to rate limit ### and not actually block out entirely. It is very powerful and also very flexible. ### Created By: https://github.com/mitchellkrogza/ ### Repo Url: https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker ### Copyright Mitchell Krog - ### Contributors: Stuart Cardall - https://github.com/itoffshore ### Tested on: nginx/1.10.3 (Ubuntu 16.04) ### This list was developed and is in use on a live Nginx server running some very busy web sites. ### It was built from the ground up using real data from daily logs and is updated almost daily. ### It has been extensively tested for false positives and all additions to the lists of bad user agents, ### spam referrers, rogue IP address, scanners, scrapers and domain hijacking sites are extensively checked ### before they are added. It is monitored extensively for any false positives. ### ********* ### Features: ### ********* ### Clear formatting for Ease of Maintenance. ### Alphabetically ordered lists for Ease of Maintenance. ### Extensive Commenting for Ease of Reference. ### Extensive bad_bot list ### Extensive bad_referrer list (please excuse the nasty words and domains) ### Simple regex patterns versus complicated messy regex patterns. ### Checks regardless of http / https urls or the lack of any protocol sent. ### IP range blocking / whitelisting. ### Rate Limiting Functions. ### ************ ### INSTALLATION ### ************ ### PLEASE use the install, setup and update scripts provided for you to ease your installation. ### This Auto Installation procedure is documented in the README.md and AUTO-CONFIGURATION.md files. ### Installation, Setup and Update Scripts Contributed by Stuart Cardall - https://github.com/itoffshore ### There are also manual configuration instructions provided for those not wishing to do an auto install. ### *********************************************** ### !!!!! PLEASE READ INLINE NOTES ON TESTING !!!!! ### *********************************************** ### Note that: ### 0 = allowed - no limits ### 1 = allowed or rate limited less restrictive ### 2 = rate limited more ### 3 = block completely ### ************************************************************ ### CONTRIBUTING / PULL REQUESTS / ADDING YOUR OWN BAD REFERRERS ### ************************************************************ ### For contributing, corrections or adding bots or referrers to this repo, ### Send a Pull Request (PR) on any of the .list files in the _generator_lists folder ### All Pull Requests will be checked for accuracy before being merged. # ********************************* # FIRST BLOCK BY USER-AGENT STRINGS # ********************************* # *********************** # !!!!! PLEASE TEST !!!!! # *********************** # ALWAYS test any User-Agent Strings you add here to make sure you have it right # Use a Chrome Extension called "User-Agent Switcher for Chrome" where you can create your # own custom lists of User-Agents and test them easily against your rules below. # You can also use curl from the command line to test user-agents as per the examples below: # curl -I http://www.yourdomain.com -A "GoogleBot" ---- GIVES YOU: HTTP/1.1 200 OK (Meaning web page was served to Client) # curl -I http://www.yourdomain.com -A "80legs" ---- GIVES YOU: curl: (52) Empty reply from server (Meaning Nginx gave a 444 Dropped Connection) # In this section we allow/disallow specific User Agents / Bots. # ********************************************************************* # Now we map all good and bad user agents to a variable called $bad_bot # ********************************************************************* map $http_user_agent $bad_bot { default 0; # *********************************************** # Include your Own Custom List of Bad User Agents # *********************************************** # Use the include file below to further customize your own list of additional user-agents you wish to permanently block # *********************************************************************************** # START CUSTOM BLACKLISTED USER AGENTS ### DO NOT EDIT OR REMOVE THIS LINE AT ALL ### # *********************************************************************************** include /etc/nginx/bots.d/blacklist-user-agents.conf; # ********************************************************************************* # END CUSTOM BLACKLISTED USER AGENTS ### DO NOT EDIT OR REMOVE THIS LINE AT ALL ### # ********************************************************************************* # *********************************************** # Allow Good User-Agent Strings We Know and Trust # *********************************************** # START GOOD BOTS ### DO NOT EDIT THIS LINE AT ALL ### "~*\badidxbot\b" 0; "~*\bAdsBot-Google\b" 0; "~*\baolbuild\b" 0; "~*\bbingbot\b" 0; "~*\bbingpreview\b" 0; "~*\bDoCoMo\b" 0; "~*\bduckduckgo\b" 0; "~*\bfacebookexternalhit\b" 0; "~*\bFeedfetcher-Google\b" 0; "~*\bGooglebot\b" 0; "~*\bGooglebot-Image\b" 0; "~*\bGooglebot-Mobile\b" 0; "~*\bGooglebot-News\b" 0; "~*\bGooglebot/Test\b" 0; "~*\bGooglebot-Video\b" 0; "~*\bGoogle-HTTP-Java-Client\b" 0; "~*\bGravityscan\b" 0; "~*\bgsa-crawler\b" 0; "~*\bJakarta\ Commons\b" 0; "~*\bKraken/0.1\b" 0; "~*\bLinkedInBot\b" 0; "~*\bMediapartners-Google\b" 0; "~*\bmsnbot\b" 0; "~*\bmsnbot-media\b" 0; "~*\bSAMSUNG\b" 0; "~*\bslurp\b" 0; "~*\bteoma\b" 0; "~*\bTwitterBot\b" 0; "~*\bWordpress\b" 0; "~*\byahoo\b" 0; # END GOOD BOTS ### DO NOT EDIT THIS LINE AT ALL ### # *************************************************** # User-Agent Strings Allowed Through but Rate Limited # *************************************************** # Some people block libwww-perl, it us widely used in many valid (non rogue) agents # I allow libwww-perl as I use it for monitoring systems with Munin but it is rate limited # START ALLOWED BOTS ### DO NOT EDIT THIS LINE AT ALL ### "~*\bjetmon\b" 1; "~*\blibwww-perl\b" 1; "~*\bLynx\b" 1; "~*\bmunin\b" 1; "~*\bWget/1.15\b" 1; # END ALLOWED BOTS ### DO NOT EDIT THIS LINE AT ALL ### # ************************************************************** # Rate Limited User-Agents who get a bit aggressive on bandwidth # ************************************************************** # START LIMITED BOTS ### DO NOT EDIT THIS LINE AT ALL ### "~*\bAlexa\b" 2; "~*\barchive.org\b" 2; "~*\bBaidu\b" 2; "~*\bBUbiNG\b" 2; "~*\bFlipboardProxy\b" 2; "~*\bia_archiver\b" 2; "~*\bMozilla/4.0\b" 2; "~*\bMSIE\ 7.0\b" 2; "~*\bPresto\b" 2; "~*\bR6_CommentReader\b" 2; "~*\bR6_FeedFetcher\b" 2; "~*\bRED/1\b" 2; "~*\bRPT-HTTPClient\b" 2; "~*\bSeznamBot\b" 2; "~*\bsfFeedReader/0.9\b" 2; "~*\bSpaidu\b" 2; "~*\bUptimeRobot/2.0\b" 2; "~*\bYandexBot\b" 2; "~*\bYandexImages\b" 2; # END LIMITED BOTS ### DO NOT EDIT THIS LINE AT ALL ### # ********************************************* # Bad User-Agent Strings That We Block Outright # ********************************************* # This includes: # Known Vulnerability Scanners (now merged into one section) # START BAD BOTS ### DO NOT EDIT THIS LINE AT ALL ### "~*\b360Spider\b" 3; "~*\b80legs\b" 3; "~*\bAbonti\b" 3; "~*\bAboundex\b" 3; "~*\bAcunetix\b" 3; "~*\bADmantX\b" 3; "~*\bAhrefsBot\b" 3; "~*\bAIBOT\b" 3; "~*\bAiHitBot\b" 3; "~*\bAipbot\b" 3; "~*\bAlexibot\b" 3; "~*\bAlligator\b" 3; "~*\bAllSubmitter\b" 3; "~*\bAnarchie\b" 3; "~*\bApexoo\b" 3; "~*\bASPSeek\b" 3; "~*\bAsterias\b" 3; "~*\bAttach\b" 3; "~*\bautoemailspider\b" 3; "~*\bBackDoorBot\b" 3; "~*\bBacklink-Ceck\b" 3; "~*\bbacklink-check\b" 3; "~*\bBacklinkCrawler\b" 3; "~*\bBackStreet\b" 3; "~*\bBackWeb\b" 3; "~*\bBadass\b" 3; "~*\bBandit\b" 3; "~*\bBatchFTP\b" 3; "~*\bBattleztar\ Bazinga\b" 3; "~*\bBBBike\b" 3; "~*\bBDFetch\b" 3; "~*\bBetaBot\b" 3; "~*\bBigfoot\b" 3; "~*\bBitacle\b" 3; "~*\bBlackboard\b" 3; "~*\bBlack\ Hole\b" 3; "~*\bBlackWidow\b" 3; "~*\bBLEXBot\b" 3; "~*\bBlow\b" 3; "~*\bBlowFish\b" 3; "~*\bBoardreader\b" 3; "~*\bBolt\b" 3; "~*\bBotALot\b" 3; "~*\bBrandprotect\b" 3; "~*\bBrandProtect\b" 3; "~*\bBrandwatch\b" 3; "~*\bBubing\b" 3; "~*\bBuddy\b" 3; "~*\bBuiltBotTough\b" 3; "~*\bBuiltWith\b" 3; "~*\bBullseye\b" 3; "~*\bBunnySlippers\b" 3; "~*\bBuzzSumo\b" 3; "~*\bCalculon\b" 3; "~*\bCATExplorador\b" 3; "~*\bCazoodleBot\b" 3; "~*\bCCBot\b" 3; "~*\bCegbfeieh\b" 3; "~*\bCheeseBot\b" 3; "~*\bCherryPicker\b" 3; "~*\bChinaClaw\b" 3; "~*\bChlooe\b" 3; "~*\bClaritybot\b" 3; "~*\bCliqzbot\b" 3; "~*\bCogentbot\b" 3; "~*\bcognitiveseo\b" 3; "~*\bCollector\b" 3; "~*\bcom.plumanalytics\b" 3; "~*\bCopier\b" 3; "~*\bCopyRightCheck\b" 3; "~*\bCopyscape\b" 3; "~*\bCosmos\b" 3; "~*\bCraftbot\b" 3; "~*\bCrazyWebCrawler\b" 3; "~*\bCRAZYWEBCRAWLER\b" 3; "~*\bCrescent\b" 3; "~*\bCSHttp\b" 3; "~*\bCurious\b" 3; "~*\bCusto\b" 3; "~*\bDatabaseDriverMysqli\b" 3; "~*\bDataCha0s\b" 3; "~*\bDBLBot\b" 3; "~*\bDemon\b" 3; "~*\bDeusu\b" 3; "~*\bDevil\b" 3; "~*\bDIIbot\b" 3; "~*\bDirbuster\b" 3; "~*\bDisco\b" 3; "~*\bDiscobot\b" 3; "~*\bDiscoverybot\b" 3; "~*\bDittoSpyder\b" 3; "~*\bDomainAppender\b" 3; "~*\bDomainCrawler\b" 3; "~*\bDomainSigmaCrawler\b" 3; "~*\bDotbot\b" 3; "~*\bDownload\ Demon\b" 3; "~*\bDownload\ Devil\b" 3; "~*\bDownload\ Wonder\b" 3; "~*\bDragonfly\b" 3; "~*\bDrip\b" 3; "~*\bDTS\ Agent\b" 3; "~*\bEasyDL\b" 3; "~*\bEbingbong\b" 3; "~*\beCatch\b" 3; "~*\bECCP/1.0\b" 3; "~*\bEcxi\b" 3; "~*\bEirGrabber\b" 3; "~*\bEMail\ Collector\b" 3; "~*\bEMail\ Extractor\b" 3; "~*\bEMail\ Siphon\b" 3; "~*\bEMail\ Wolf\b" 3; "~*\bEroCrawler\b" 3; "~*\bEvil\b" 3; "~*\bExabot\b" 3; "~*\bExpress\ WebPictures\b" 3; "~*\bExtractor\b" 3; "~*\bExtractorPro\b" 3; "~*\bExtreme\ Picture\ Finder\b" 3; "~*\bEyeNetIE\b" 3; "~*\bEzooms\b" 3; "~*\bFDM\b" 3; "~*\bFHscan\b" 3; "~*\bFimap\b" 3; "~*\bFindxbot\b" 3; "~*\bFirefox/7.0\b" 3; "~*\bFlashGet\b" 3; "~*\bFlunky\b" 3; "~*\bFoobot\b" 3; "~*\bfq\b" 3; "~*\bFreeuploader\b" 3; "~*\bFrontPage\b" 3; "~*\bFyrebot\b" 3; "~*\bGalaxyBot\b" 3; "~*\bGenieo\b" 3; "~*\bGetintent\b" 3; "~*\bGetRight\b" 3; "~*\bGetWeb\b" 3; "~*\bGigablast\b" 3; "~*\bGigabot\b" 3; "~*\bGo-Ahead-Got-It\b" 3; "~*\bGotit\b" 3; "~*\bGoZilla\b" 3; "~*\bGo!Zilla\b" 3; "~*\bGrabber\b" 3; "~*\bGrabNet\b" 3; "~*\bGrafula\b" 3; "~*\bGrapeFX\b" 3; "~*\bGrapeshotCrawler\b" 3; "~*\bGridBot\b" 3; "~*\bGT::WWW\b" 3; "~*\bHaosouSpider\b" 3; "~*\bHarvest\b" 3; "~*\bHavij\b" 3; "~*\bHEADMasterSEO\b" 3; "~*\bHeritrix\b" 3; "~*\bHloader\b" 3; "~*\bHMView\b" 3; "~*\bHTMLparser\b" 3; "~*\bHTTP::Lite\b" 3; "~*\bHTTrack\b" 3; "~*\bHumanlinks\b" 3; "~*\bHybridBot\b" 3; "~*\bIblog\b" 3; "~*\bIDBot\b" 3; "~*\bId-search\b" 3; "~*\bIlseBot\b" 3; "~*\bImage\ Fetch\b" 3; "~*\bImage\ Stripper\b" 3; "~*\bImage\ Sucker\b" 3; "~*\bIndy\ Library\b" 3; "~*\bInfoNaviRobot\b" 3; "~*\bInfoTekies\b" 3; "~*\binstabid\b" 3; "~*\bIntelliseek\b" 3; "~*\bInterGET\b" 3; "~*\bInternet\ Ninja\b" 3; "~*\bInternetSeer\b" 3; "~*\binternetVista\ monitor\b" 3; "~*\bIria\b" 3; "~*\bIRLbot\b" 3; "~*\bIskanie\b" 3; "~*\bJamesBOT\b" 3; "~*\bJbrofuzz\b" 3; "~*\bJennyBot\b" 3; "~*\bJetCar\b" 3; "~*\bJikeSpider\b" 3; "~*\bJOC\ Web\ Spider\b" 3; "~*\bJoomla\b" 3; "~*\bJorgee\b" 3; "~*\bJustView\b" 3; "~*\bJyxobot\b" 3; "~*\bKenjin\ Spider\b" 3; "~*\bKeyword\ Density\b" 3; "~*\bLanshanbot\b" 3; "~*\bLarbin\b" 3; "~*\bLeechFTP\b" 3; "~*\bLeechGet\b" 3; "~*\bLexiBot\b" 3; "~*\bLftp\b" 3; "~*\bLibWeb\b" 3; "~*\bLibwhisker\b" 3; "~*\bLightspeedsystems\b" 3; "~*\bLikse\b" 3; "~*\bLinkdexbot\b" 3; "~*\bLinkextractorPro\b" 3; "~*\bLinkpadBot\b" 3; "~*\bLinkScan\b" 3; "~*\bLinksManager\b" 3; "~*\bLinkWalker\b" 3; "~*\bLinqiaMetadataDownloaderBot\b" 3; "~*\bLinqiaRSSBot\b" 3; "~*\bLinqiaScrapeBot\b" 3; "~*\bLipperhey\b" 3; "~*\bLitemage_walker\b" 3; "~*\bLmspider\b" 3; "~*\bLNSpiderguy\b" 3; "~*\bLtx71\b" 3; "~*\blwp-request\b" 3; "~*\bLWP::Simple\b" 3; "~*\blwp-trivial\b" 3; "~*\bMagnet\b" 3; "~*\bMag-Net\b" 3; "~*\bmagpie-crawler\b" 3; "~*\bMail.ru\b" 3; "~*\bMajestic12\b" 3; "~*\bMarkMonitor\b" 3; "~*\bMarkWatch\b" 3; "~*\bMasscan\b" 3; "~*\bMass\ Downloader\b" 3; "~*\bMata\ Hari\b" 3; "~*\bMeanpathbot\b" 3; "~*\bMegaIndex.ru\b" 3; "~*\bMetauri\b" 3; "~*\bMFC_Tear_Sample\b" 3; "~*\bMicrosoft\ Data\ Access\b" 3; "~*\bMicrosoft\ URL\ Control\b" 3; "~*\bMIDown\ tool\b" 3; "~*\bMIIxpc\b" 3; "~*\bMister\ PiX\b" 3; "~*\bMJ12bot\b" 3; "~*\bMojeek\b" 3; "~*\bMorfeus\ Fucking\ Scanner\b" 3; "~*\bMSFrontPage\b" 3; "~*\bMSIE\ 6.0\b" 3; "~*\bMSIECrawler\b" 3; "~*\bMsrabot\b" 3; "~*\bMS\ Web\ Services\ Client\ Protocol\b" 3; "~*\bMusobot\b" 3; "~*\bName\ Intelligence\b" 3; "~*\bNameprotect\b" 3; "~*\bNavroad\b" 3; "~*\bNearSite\b" 3; "~*\bNeedle\b" 3; "~*\bNessus\b" 3; "~*\bNetAnts\b" 3; "~*\bNetcraft\b" 3; "~*\bnetEstate\ NE\ Crawler\b" 3; "~*\bNetLyzer\b" 3; "~*\bNetMechanic\b" 3; "~*\bNetSpider\b" 3; "~*\bNettrack\b" 3; "~*\bNet\ Vampire\b" 3; "~*\bNetZIP\b" 3; "~*\bNextGenSearchBot\b" 3; "~*\bNibbler\b" 3; "~*\bNICErsPRO\b" 3; "~*\bNiki-bot\b" 3; "~*\bNikto\b" 3; "~*\bNimbleCrawler\b" 3; "~*\bNinja\b" 3; "~*\bNmap\b" 3; "~*\bNPbot\b" 3; "~*\bNutch\b" 3; "~*\bOctopus\b" 3; "~*\bOffline\ Explorer\b" 3; "~*\bOffline\ Navigator\b" 3; "~*\bOpenfind\b" 3; "~*\bOpenLinkProfiler\b" 3; "~*\bOpenvas\b" 3; "~*\bOrangeBot\b" 3; "~*\bOrangeSpider\b" 3; "~*\bOutfoxBot\b" 3; "~*\bPageAnalyzer\b" 3; "~*\bPage\ Analyzer\b" 3; "~*\bPageGrabber\b" 3; "~*\bPage\ Grabber\b" 3; "~*\bpage\ scorer\b" 3; "~*\bPageScorer\b" 3; "~*\bPanscient\b" 3; "~*\bPapa\ Foto\b" 3; "~*\bPavuk\b" 3; "~*\bpcBrowser\b" 3; "~*\bPECL::HTTP\b" 3; "~*\bPeoplePal\b" 3; "~*\bPHPCrawl\b" 3; "~*\bPicscout\b" 3; "~*\bPicsearch\b" 3; "~*\bPictureFinder\b" 3; "~*\bPimonster\b" 3; "~*\bPi-Monster\b" 3; "~*\bPixray\b" 3; "~*\bPleaseCrawl\b" 3; "~*\bplumanalytics\b" 3; "~*\bPockey\b" 3; "~*\bPOE-Component-Client-HTTP\b" 3; "~*\bProbethenet\b" 3; "~*\bProPowerBot\b" 3; "~*\bProWebWalker\b" 3; "~*\bProximic\b" 3; "~*\bPsbot\b" 3; "~*\bPump\b" 3; "~*\bPyCurl\b" 3; "~*\bQueryN\ Metasearch\b" 3; "~*\bQwantify\b" 3; "~*\bRankActive\b" 3; "~*\bRankActiveLinkBot\b" 3; "~*\bRankFlex\b" 3; "~*\bRankingBot\b" 3; "~*\bRankingBot2\b" 3; "~*\bRankivabot\b" 3; "~*\bRankurBot\b" 3; "~*\bRealDownload\b" 3; "~*\bReaper\b" 3; "~*\bRebelMouse\b" 3; "~*\bRecorder\b" 3; "~*\bRedesScrapy\b" 3; "~*\bReGet\b" 3; "~*\bRepoMonkey\b" 3; "~*\bRipper\b" 3; "~*\bRocketCrawler\b" 3; "~*\bRogerbot\b" 3; "~*\bSalesIntelligent\b" 3; "~*\bSBIder\b" 3; "~*\bScanAlert\b" 3; "~*\bScanbot\b" 3; "~*\bScrapy\b" 3; "~*\bScreaming\b" 3; "~*\bScreaming\ Frog\ SEO\ Spider\b" 3; "~*\bScreenerBot\b" 3; "~*\bSearchestate\b" 3; "~*\bSearchmetricsBot\b" 3; "~*\bSemrush\b" 3; "~*\bSemrushBot\b" 3; "~*\bSEOkicks\b" 3; "~*\bSEOkicks-Robot\b" 3; "~*\bSEOlyticsCrawler\b" 3; "~*\bSeomoz\b" 3; "~*\bSEOprofiler\b" 3; "~*\bseoscanners\b" 3; "~*\bSEOstats\b" 3; "~*\bSiphon\b" 3; "~*\bSISTRIX\b" 3; "~*\bSISTRIX\ Crawler\b" 3; "~*\bSitebeam\b" 3; "~*\bSiteExplorer\b" 3; "~*\bSiteimprove\b" 3; "~*\bSiteLockSpider\b" 3; "~*\bSiteSnagger\b" 3; "~*\bSiteSucker\b" 3; "~*\bSite\ Sucker\b" 3; "~*\bSitevigil\b" 3; "~*\bSlackbot-LinkExpanding\b" 3; "~*\bSlySearch\b" 3; "~*\bSmartDownload\b" 3; "~*\bSnake\b" 3; "~*\bSnapbot\b" 3; "~*\bSnoopy\b" 3; "~*\bSocialRankIOBot\b" 3; "~*\bSogou\ web\ spider\b" 3; "~*\bSosospider\b" 3; "~*\bSottopop\b" 3; "~*\bSpaceBison\b" 3; "~*\bSpammen\b" 3; "~*\bSpankBot\b" 3; "~*\bSpanner\b" 3; "~*\bSpbot\b" 3; "~*\bSpinn3r\b" 3; "~*\bSputnikBot\b" 3; "~*\bSqlmap\b" 3; "~*\bSqlworm\b" 3; "~*\bSqworm\b" 3; "~*\bSteeler\b" 3; "~*\bStripper\b" 3; "~*\bSucker\b" 3; "~*\bSucuri\b" 3; "~*\bSuperBot\b" 3; "~*\bSuperHTTP\b" 3; "~*\bSurfbot\b" 3; "~*\bSurveyBot\b" 3; "~*\bSuzuran\b" 3; "~*\bSwiftbot\b" 3; "~*\bSzukacz\b" 3; "~*\bT0PHackTeam\b" 3; "~*\bT8Abot\b" 3; "~*\btAkeOut\b" 3; "~*\bTeleport\b" 3; "~*\bTeleportPro\b" 3; "~*\bTelesoft\b" 3; "~*\bTelesphoreo\b" 3; "~*\bTelesphorep\b" 3; "~*\bThe\ Intraformant\b" 3; "~*\bTheNomad\b" 3; "~*\bTightTwatBot\b" 3; "~*\bTitan\b" 3; "~*\bToata\b" 3; "~*\bToweyabot\b" 3; "~*\bTrendictionbot\b" 3; "~*\bTrue_Robot\b" 3; "~*\bTuringos\b" 3; "~*\bTurnitinBot\b" 3; "~*\bTurnitin\ Bot\b" 3; "~*\bTurnitin\ Robot\b" 3; "~*\bTwengaBot\b" 3; "~*\bTwice\b" 3; "~*\bTyphoeus\b" 3; "~*\bUnisterBot\b" 3; "~*\bURLy.Warning\b" 3; "~*\bURLy\ Warning\b" 3; "~*\bVacuum\b" 3; "~*\bVagabondo\b" 3; "~*\bVB\ Project\b" 3; "~*\bVCI\b" 3; "~*\bVeriCiteCrawler\b" 3; "~*\bVidibleScraper\b" 3; "~*\bVirusdie\b" 3; "~*\bVoidEYE\b" 3; "~*\bVoil\b" 3; "~*\bVoltron\b" 3; "~*\bWallpapers/3.0\b" 3; "~*\bWallpapersHD\b" 3; "~*\bWASALive-Bot\b" 3; "~*\bWBSearchBot\b" 3; "~*\bWebalta\b" 3; "~*\bWebAuto\b" 3; "~*\bWeb\ Auto\b" 3; "~*\bWebBandit\b" 3; "~*\bWeb\ Bandit\b" 3; "~*\bWebCollage\b" 3; "~*\bWeb\ Collage\b" 3; "~*\bWebCopier\b" 3; "~*\bWeb\ Copier\b" 3; "~*\bWEBDAV\b" 3; "~*\bWEBDAV\ Client\b" 3; "~*\bWebEnhancer\b" 3; "~*\bWeb\ Enhancer\b" 3; "~*\bWebFetch\b" 3; "~*\bWeb\ Fetch\b" 3; "~*\bWebFuck\b" 3; "~*\bWeb\ Fuck\b" 3; "~*\bWebGo\ IS\b" 3; "~*\bWebImageCollector\b" 3; "~*\bWeb\ Image\ Collector\b" 3; "~*\bWebLeacher\b" 3; "~*\bWebmasterWorldForumBot\b" 3; "~*\bwebmeup-crawler\b" 3; "~*\bWebPix\b" 3; "~*\bWeb\ Pix\b" 3; "~*\bWebReaper\b" 3; "~*\bWeb\ Reaper\b" 3; "~*\bWebSauger\b" 3; "~*\bWeb\ Sauger\b" 3; "~*\bWebshag\b" 3; "~*\bWebsiteExtractor\b" 3; "~*\bWebsite\ Extractor\b" 3; "~*\bWebsiteQuester\b" 3; "~*\bWebsite\ Quester\b" 3; "~*\bWebster\b" 3; "~*\bWebStripper\b" 3; "~*\bWeb\ Stripper\b" 3; "~*\bWebSucker\b" 3; "~*\bWeb\ Sucker\b" 3; "~*\bWebWhacker\b" 3; "~*\bWeb\ Whacker\b" 3; "~*\bWebZIP\b" 3; "~*\bWeSEE\b" 3; "~*\bWhack\b" 3; "~*\bWhacker\b" 3; "~*\bWhatweb\b" 3; "~*\bWidow\b" 3; "~*\bWinHTTrack\b" 3; "~*\bWiseGuys\ Robot\b" 3; "~*\bWISENutbot\b" 3; "~*\bWonderbot\b" 3; "~*\bWoobot\b" 3; "~*\bWotbox\b" 3; "~*\bWprecon\b" 3; "~*\bWPScan\b" 3; "~*\bWWW-Collector-E\b" 3; "~*\bWWW-Mechanize\b" 3; "~*\bWWW::Mechanize\b" 3; "~*\bWWWOFFLE\b" 3; "~*\bx22Mozilla\b" 3; "~*\bXaldon_WebSpider\b" 3; "~*\bXaldon\ WebSpider\b" 3; "~*\bXenu\b" 3; "~*\bYoudaoBot\b" 3; "~*\bZade\b" 3; "~*\bZermelo\b" 3; "~*\bZeus\b" 3; "~*\bZgrab\b" 3; "~*\bZitebot\b" 3; "~*\bZmEu\b" 3; "~*\bZumBot\b" 3; "~*\bZyBorg\b" 3; # END BAD BOTS ### DO NOT EDIT THIS LINE AT ALL ### } ### Also check out my Ultimate Apache Bad Bot Blocker on Github ### https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker