Защита сайта от нежелательных ботов, спам-ботов и парсеров
Большие сайты с тысячами страниц и интернет-магазины с большим ассортиментом товаров зачастую сталкиваются с проблемой внезапно высокой нагрузки на сервер.
Причиной очень часто становятся не ddos атаки, вирусы или действия хакеров, а обычные роботы малоизвестных поисковых систем или различных сервисов, которые за счет большого количества запросов к сайту в единицу времени приводят к увеличению нагрузки и превышению допустимых на хостинге лимитов.
Замечу, что данная проблема актуальна именно для крупных интернет-магазинов, поскольку, если ваш сайт состоит из 100-500 страниц и менее, то даже средний хостинг справится с такой внезапной нагрузкой без особых проблем. VDS серверы способны выдерживать куда более высокие нагрузки и, как правило, для интернет-магазинов на VDS такая проблема ощутима только в период новогоднего бума или накануне праздников, когда серверы работают на пределе своих возможностей.
Определить причину внезапно высокой нагрузки на сервер порой можно только через анализ логов, но иногда достаточно Яндекс Метрики, которая порой принимает ботов за пользователей.
Признаки появления бота на сайте
- Большое количество просмотренных страниц в единицу времени
- Нехарактерная для данного времени и дня недели высокая посещаемость сайта
- Резкий рост посещаемости пользователей из других стран мира и с необычными для России браузерами
- Необычно медленная загрузка страниц сайта
- Долгий ответ сервера
- Жалобы со стороны хостинга о потреблении сайтом большого кличества ресурсов
- Однотипное поведение пользователей с многочисленным посещением одной и той же страницы
Примеры нежелательных ботов
Нежелательные боты зачастую это вовсе не боты спамеры или парсеры сайтов. Очень часто эти боты представляют различные сервисы или малоизвестные поисковые системы.
Прямой угрозы они не несут, но из-за неправильной настройки, внутренней ошибки или по каким-либо другим причинам они могут создавать высокую нагрузку на сайт за счет большого количества хитов в единицу времени.
Бот MJ12bot
Поисковый робот сервиса Majestic, которые собирает данные об исходящих ссылках на сайтах. Робот нормально воспринимает канонические страницы, но на сайтах, где канонические урлы отсутствуют, начинает очень сильно «буксовать» на страницах, в урлах которых содержатся параметры.
Бот BLEXBot
Робот BLEXBot Crawler заявлен как робот поисковой системы — какой именно поисковой системы, на официальной странице не уточняется.
Бот AhrefsBot
Этот робот, равно как и MJ12bot, анализирует страницы сайта на наличие внешних ссылок. Сам сайт ahrefs.com предоставляет наплохой профессиональный сервис по оценке и анализу ссылочного.
Бот HubSpot Webcrawler
Это робот поисковой системы сайта amazon.com. На самом «Амазоне» заявлено, что данная платформа создана для компаний, которым нужно привлечь посетителей, т.е. по сути робот является сборщиком контента с интернет-магазинов.
Другие нежелательные боты
Приведенный ниже перечень ботов мной лично не встречался, но вполне возможно, что они ещё существуют:
Aboundex80legs360SpiderJavaCogentbotAlexibotasteriasattachBackDoorBotBackWebBanditBatchFTPBigfootBlack.HoleBlackWidowBlowFishBotALotBuddyBuiltBotToughBullseyeBunnySlippersCegbfeiehCheeseBotCherryPickerChinaClawCollectorCopierCopyRightCheckcosmosCrescentCustoAIBOTDISCoDIIbotDittoSpyderDownload DemonDownload DevilDownload WonderdragonflyDripeCatchEasyDLebingbongEirGrabberEmailCollectorEmailSiphonEmailWolfEroCrawlerExabotExpress WebPicturesExtractorEyeNetIEFoobotflunkyFrontPageGo-Ahead-Got-ItgotitGrabNetGrafulaHarvesthloaderHMViewHTTrackhumanlinksIlseBotImage StripperImage SuckerIndy LibraryInfoNavibotInfoTekiesIntelliseekInterGETInternet NinjaIriaJakartaJennyBotJetCarJOCJustViewJyxobotKenjin.SpiderKeyword.DensitylarbinLexiBotlftplibWeb/clsHTTPlikseLinkextractorProLinkScan/8.1a.UnixLNSpiderguyLinkWalkerlwp-trivialLWP::SimpleMagnetMag-NetMarkWatchMass DownloaderMata.HariMemoMicrosoft.URLMicrosoft URL ControlMIDown toolMIIxpcMirrorMissigua LocatorMister PiXmogetMozilla/3.Mozilla/2.01Mozilla.*NEWTNAMEPROTECTNavroadNearSiteNetAntsNetcraftNetMechanicNetSpiderNet VampireNetZIPNextGenSearchBotNGNICErsPROniki-botNimbleCrawlerNinjaNPbotOctopusOffline ExplorerOffline NavigatorOpenfindOutfoxBotPageGrabberPapa FotopavukpcBrowserPHP version trackerPockeyProPowerBot/2.14ProWebWalkerpsbotPumpQueryN.MetasearchRealDownloadReaperRecorderReGetRepoMonkeyRMASiphonSiteSnaggerSlySearchSmartDownloadSnakeSnapbotSnoopysogouSpaceBisonSpankBotspannerSqwormStripperSuckerSuperBotSuperHTTPSurfbotsuzuranSzukacz/1.4tAkeOutTeleportTelesoftTurnitinBot/1.5The.IntraformantTheNomadTightTwatBotTitanTrue_botturingosTurnitinBotURLy.WarningVacuumVCIVoidEYEWeb Image CollectorWeb SuckerWebAutoWebBanditWebclipping.comWebCopierWebEMailExtrac.*» botWebEnhancerWebFetchWebGo ISWeb.Image.CollectorWebLeacherWebmasterWorldForumBotWebReaperWebSaugerWebsite eXtractorWebsite QuesterWebsterWebStripperWebWhackerWebZIPWhackerWidowWISENutbotWWWOFFLEWWW-Collector-EXaldonXenuZeusZmEuZyborgAhrefsBotarchive.org_botbingbotWgetAcunetixFHscan
Ограничение активности ботов с использованием robots.txt
Универсальное решение заключается в том, чтобы через дерективу Crawl-delay в файле robots.txt ограничить количество запросов. Численное значение указывает паузу в секундах между обращениями к сайту.
Типовой пример, подходящий для большинства сайтов
User-agent: *Crawl-delay: 10
10 секунд более чем достаточно, чтобы лимитировать нарузку на сайт роботов поисковых машин.
Впрочем, некоторые нежелательные боты игнорируют данную директиву и даже прямой запрет доступа через robots.txt не спасает от высокой нагрузки.
В таких случаях остается только вариант блокирования доступа к сайта по ip адресам, откуда идут запросы, или по User-agent.
Второй вариант является более предпочтительным, поскольку при блокировании доступа по ip, сайт становится недоступен для всех устройств, в том числе и для обычных пользователей.
Блокирование ботов по User-agent через .htaccess файл
Подавляющее большинство сайтов работает на linux платформе, где роль веб-сервера выполняет Apache сервер. Веб-сервер обрабатывает запросы пользователей и отдает страницы сайта.
Для блокирования доступа по User-agent необходимо в корень сайта добавить файл .htaccess (если его там ещё нет) и дописать следующие строки.
SetEnvIfNoCase User-Agent «Aboundex» botSetEnvIfNoCase User-Agent «80legs» botSetEnvIfNoCase User-Agent «360Spider» botSetEnvIfNoCase User-Agent «^Java» botSetEnvIfNoCase User-Agent «^Cogentbot» botSetEnvIfNoCase User-Agent «^Alexibot» botSetEnvIfNoCase User-Agent «^asterias» botSetEnvIfNoCase User-Agent «^attach» botSetEnvIfNoCase User-Agent «^BackDoorBot» botSetEnvIfNoCase User-Agent «^BackWeb» botSetEnvIfNoCase User-Agent «Bandit» botSetEnvIfNoCase User-Agent «^BatchFTP» botSetEnvIfNoCase User-Agent «^Bigfoot» botSetEnvIfNoCase User-Agent «^Black.Hole» botSetEnvIfNoCase User-Agent «^BlackWidow» botSetEnvIfNoCase User-Agent «^BlowFish» botSetEnvIfNoCase User-Agent «^BotALot» botSetEnvIfNoCase User-Agent «Buddy» botSetEnvIfNoCase User-Agent «^BuiltBotTough» botSetEnvIfNoCase User-Agent «^Bullseye» botSetEnvIfNoCase User-Agent «^BunnySlippers» botSetEnvIfNoCase User-Agent «^Cegbfeieh» botSetEnvIfNoCase User-Agent «^CheeseBot» botSetEnvIfNoCase User-Agent «^CherryPicker» botSetEnvIfNoCase User-Agent «^ChinaClaw» botSetEnvIfNoCase User-Agent «Collector» botSetEnvIfNoCase User-Agent «Copier» botSetEnvIfNoCase User-Agent «^CopyRightCheck» botSetEnvIfNoCase User-Agent «^cosmos» botSetEnvIfNoCase User-Agent «^Crescent» botSetEnvIfNoCase User-Agent «^Custo» botSetEnvIfNoCase User-Agent «^AIBOT» botSetEnvIfNoCase User-Agent «^DISCo» botSetEnvIfNoCase User-Agent «^DIIbot» botSetEnvIfNoCase User-Agent «^DittoSpyder» botSetEnvIfNoCase User-Agent «^Download Demon» botSetEnvIfNoCase User-Agent «^Download Devil» botSetEnvIfNoCase User-Agent «^Download Wonder» botSetEnvIfNoCase User-Agent «^dragonfly» botSetEnvIfNoCase User-Agent «^Drip» botSetEnvIfNoCase User-Agent «^eCatch» botSetEnvIfNoCase User-Agent «^EasyDL» botSetEnvIfNoCase User-Agent «^ebingbong» botSetEnvIfNoCase User-Agent «^EirGrabber» botSetEnvIfNoCase User-Agent «^EmailCollector» botSetEnvIfNoCase User-Agent «^EmailSiphon» botSetEnvIfNoCase User-Agent «^EmailWolf» botSetEnvIfNoCase User-Agent «^EroCrawler» botSetEnvIfNoCase User-Agent «^Exabot» botSetEnvIfNoCase User-Agent «^Express WebPictures» botSetEnvIfNoCase User-Agent «Extractor» botSetEnvIfNoCase User-Agent «^EyeNetIE» botSetEnvIfNoCase User-Agent «^Foobot» botSetEnvIfNoCase User-Agent «^flunky» botSetEnvIfNoCase User-Agent «^FrontPage» botSetEnvIfNoCase User-Agent «^Go-Ahead-Got-It» botSetEnvIfNoCase User-Agent «^gotit» botSetEnvIfNoCase User-Agent «^GrabNet» botSetEnvIfNoCase User-Agent «^Grafula» botSetEnvIfNoCase User-Agent «^Harvest» botSetEnvIfNoCase User-Agent «^hloader» botSetEnvIfNoCase User-Agent «^HMView» botSetEnvIfNoCase User-Agent «^HTTrack» botSetEnvIfNoCase User-Agent «^humanlinks» botSetEnvIfNoCase User-Agent «^IlseBot» botSetEnvIfNoCase User-Agent «^Image Stripper» botSetEnvIfNoCase User-Agent «^Image Sucker» botSetEnvIfNoCase User-Agent «Indy Library» botSetEnvIfNoCase User-Agent «^InfoNavibot» botSetEnvIfNoCase User-Agent «^InfoTekies» botSetEnvIfNoCase User-Agent «^Intelliseek» botSetEnvIfNoCase User-Agent «^InterGET» botSetEnvIfNoCase User-Agent «^Internet Ninja» botSetEnvIfNoCase User-Agent «^Iria» botSetEnvIfNoCase User-Agent «^Jakarta» botSetEnvIfNoCase User-Agent «^JennyBot» botSetEnvIfNoCase User-Agent «^JetCar» botSetEnvIfNoCase User-Agent «^JOC» botSetEnvIfNoCase User-Agent «^JustView» botSetEnvIfNoCase User-Agent «^Jyxobot» botSetEnvIfNoCase User-Agent «^Kenjin.Spider» botSetEnvIfNoCase User-Agent «^Keyword.Density» botSetEnvIfNoCase User-Agent «^larbin» botSetEnvIfNoCase User-Agent «^LexiBot» botSetEnvIfNoCase User-Agent «^lftp» botSetEnvIfNoCase User-Agent «^libWeb/clsHTTP» botSetEnvIfNoCase User-Agent «^likse» botSetEnvIfNoCase User-Agent «^LinkextractorPro» botSetEnvIfNoCase User-Agent «^LinkScan/8.1a.Unix» botSetEnvIfNoCase User-Agent «^LNSpiderguy» botSetEnvIfNoCase User-Agent «^LinkWalker» botSetEnvIfNoCase User-Agent «^lwp-trivial» botSetEnvIfNoCase User-Agent «^LWP::Simple» botSetEnvIfNoCase User-Agent «^Magnet» botSetEnvIfNoCase User-Agent «^Mag-Net» botSetEnvIfNoCase User-Agent «^MarkWatch» botSetEnvIfNoCase User-Agent «^Mass Downloader» botSetEnvIfNoCase User-Agent «^Mata.Hari» botSetEnvIfNoCase User-Agent «^Memo» botSetEnvIfNoCase User-Agent «^Microsoft.URL» botSetEnvIfNoCase User-Agent «^Microsoft URL Control» botSetEnvIfNoCase User-Agent «^MIDown tool» botSetEnvIfNoCase User-Agent «^MIIxpc» botSetEnvIfNoCase User-Agent «^Mirror» botSetEnvIfNoCase User-Agent «^Missigua Locator» botSetEnvIfNoCase User-Agent «^Mister PiX» botSetEnvIfNoCase User-Agent «^moget» botSetEnvIfNoCase User-Agent «^Mozilla/3.Mozilla/2.01» botSetEnvIfNoCase User-Agent «^Mozilla.*NEWT» botSetEnvIfNoCase User-Agent «^NAMEPROTECT» botSetEnvIfNoCase User-Agent «^Navroad» botSetEnvIfNoCase User-Agent «^NearSite» botSetEnvIfNoCase User-Agent «^NetAnts» botSetEnvIfNoCase User-Agent «^Netcraft» botSetEnvIfNoCase User-Agent «^NetMechanic» botSetEnvIfNoCase User-Agent «^NetSpider» botSetEnvIfNoCase User-Agent «^Net Vampire» botSetEnvIfNoCase User-Agent «^NetZIP» botSetEnvIfNoCase User-Agent «^NextGenSearchBot» botSetEnvIfNoCase User-Agent «^NG» botSetEnvIfNoCase User-Agent «^NICErsPRO» botSetEnvIfNoCase User-Agent «^niki-bot» botSetEnvIfNoCase User-Agent «^NimbleCrawler» botSetEnvIfNoCase User-Agent «^Ninja» botSetEnvIfNoCase User-Agent «^NPbot» botSetEnvIfNoCase User-Agent «^Octopus» botSetEnvIfNoCase User-Agent «^Offline Explorer» botSetEnvIfNoCase User-Agent «^Offline Navigator» botSetEnvIfNoCase User-Agent «^Openfind» botSetEnvIfNoCase User-Agent «^OutfoxBot» botSetEnvIfNoCase User-Agent «^PageGrabber» botSetEnvIfNoCase User-Agent «^Papa Foto» botSetEnvIfNoCase User-Agent «^pavuk» botSetEnvIfNoCase User-Agent «^pcBrowser» botSetEnvIfNoCase User-Agent «^PHP version tracker» botSetEnvIfNoCase User-Agent «^Pockey» botSetEnvIfNoCase User-Agent «^ProPowerBot/2.14» botSetEnvIfNoCase User-Agent «^ProWebWalker» botSetEnvIfNoCase User-Agent «^psbot» botSetEnvIfNoCase User-Agent «^Pump» botSetEnvIfNoCase User-Agent «^QueryN.Metasearch» botSetEnvIfNoCase User-Agent «^RealDownload» botSetEnvIfNoCase User-Agent «Reaper» botSetEnvIfNoCase User-Agent «Recorder» botSetEnvIfNoCase User-Agent «^ReGet» botSetEnvIfNoCase User-Agent «^RepoMonkey» botSetEnvIfNoCase User-Agent «^RMA» botSetEnvIfNoCase User-Agent «Siphon» botSetEnvIfNoCase User-Agent «^SiteSnagger» botSetEnvIfNoCase User-Agent «^SlySearch» botSetEnvIfNoCase User-Agent «^SmartDownload» botSetEnvIfNoCase User-Agent «^Snake» botSetEnvIfNoCase User-Agent «^Snapbot» botSetEnvIfNoCase User-Agent «^Snoopy» botSetEnvIfNoCase User-Agent «^sogou» botSetEnvIfNoCase User-Agent «^SpaceBison» botSetEnvIfNoCase User-Agent «^SpankBot» botSetEnvIfNoCase User-Agent «^spanner» botSetEnvIfNoCase User-Agent «^Sqworm» botSetEnvIfNoCase User-Agent «Stripper» botSetEnvIfNoCase User-Agent «Sucker» botSetEnvIfNoCase User-Agent «^SuperBot» botSetEnvIfNoCase User-Agent «^SuperHTTP» botSetEnvIfNoCase User-Agent «^Surfbot» botSetEnvIfNoCase User-Agent «^suzuran» botSetEnvIfNoCase User-Agent «^Szukacz/1.4» botSetEnvIfNoCase User-Agent «^tAkeOut» botSetEnvIfNoCase User-Agent «^Teleport» botSetEnvIfNoCase User-Agent «^Telesoft» botSetEnvIfNoCase User-Agent «^TurnitinBot/1.5» botSetEnvIfNoCase User-Agent «^The.Intraformant» botSetEnvIfNoCase User-Agent «^TheNomad» botSetEnvIfNoCase User-Agent «^TightTwatBot» botSetEnvIfNoCase User-Agent «^Titan» botSetEnvIfNoCase User-Agent «^True_bot» botSetEnvIfNoCase User-Agent «^turingos» botSetEnvIfNoCase User-Agent «^TurnitinBot» botSetEnvIfNoCase User-Agent «^URLy.Warning» botSetEnvIfNoCase User-Agent «^Vacuum» botSetEnvIfNoCase User-Agent «^VCI» botSetEnvIfNoCase User-Agent «^VoidEYE» botSetEnvIfNoCase User-Agent «^Web Image Collector» botSetEnvIfNoCase User-Agent «^Web Sucker» botSetEnvIfNoCase User-Agent «^WebAuto» botSetEnvIfNoCase User-Agent «^WebBandit» botSetEnvIfNoCase User-Agent «^Webclipping.com» botSetEnvIfNoCase User-Agent «^WebCopier» botSetEnvIfNoCase User-Agent «^WebEMailExtrac.*» botSetEnvIfNoCase User-Agent «^WebEnhancer» botSetEnvIfNoCase User-Agent «^WebFetch» botSetEnvIfNoCase User-Agent «^WebGo IS» botSetEnvIfNoCase User-Agent «^Web.Image.Collector» botSetEnvIfNoCase User-Agent «^WebLeacher» botSetEnvIfNoCase User-Agent «^WebmasterWorldForumBot» botSetEnvIfNoCase User-Agent «^WebReaper» botSetEnvIfNoCase User-Agent «^WebSauger» botSetEnvIfNoCase User-Agent «^Website eXtractor» botSetEnvIfNoCase User-Agent «^Website Quester» botSetEnvIfNoCase User-Agent «^Webster» botSetEnvIfNoCase User-Agent «^WebStripper» botSetEnvIfNoCase User-Agent «^WebWhacker» botSetEnvIfNoCase User-Agent «^WebZIP» botSetEnvIfNoCase User-Agent «Whacker» botSetEnvIfNoCase User-Agent «^Widow» botSetEnvIfNoCase User-Agent «^WISENutbot» botSetEnvIfNoCase User-Agent «^WWWOFFLE» botSetEnvIfNoCase User-Agent «^WWW-Collector-E» botSetEnvIfNoCase User-Agent «^Xaldon» botSetEnvIfNoCase User-Agent «^Xenu» botSetEnvIfNoCase User-Agent «^Zeus» botSetEnvIfNoCase User-Agent «ZmEu» botSetEnvIfNoCase User-Agent «^Zyborg» botSetEnvIfNoCase User-Agent «AhrefsBot» botSetEnvIfNoCase User-Agent «HubSpot» botSetEnvIfNoCase User-Agent «BLEXBot» botSetEnvIfNoCase User-Agent «archive.org_bot» botSetEnvIfNoCase User-Agent «bingbot» botSetEnvIfNoCase User-Agent «^Wget» botDeny from env=bot
Понятно, что можно использовать данный перечень в исходном виде, а можно оставить в списке только тех нежелательных ботов, которые действительно создавали в прошлом и создают высокую нагрузку на ваш сайт на данный момент.
Источник: imacrosoft.ru
Те самые дроиды: 28 самых полезных ботов для Telegram по версии журнала «Хакер»

Пик шумихи вокруг чат-ботов, скорее всего, уже пройден. Но что полезного она принесла человечеству? Мы отправились ворошить залежи ботов для мессенджера Telegram, чтобы сделать подборку, в которой любой пользователь (а тем более гик) найдет для себя что-нибудь ценное.
Кладбище роботов
Признаться честно, поиски оказались не самым приятным занятием: сверкавшая еще год назад армия роботов постепенно превращается в свалку. Более половины потенциально полезных ботов перестали функционировать и просто-напросто не реагируют на запросы. Больше не отвечает бот «Флибусты»; полезнейший Utilsbot, который помогал бороться с разными видами кодирования, не подает признаков жизни; закрыт SteamSaleBot, оповещавший о распродажах в Steam, — остались лишь исходники, выложенные автором на GitHub.
Читатель из будущего, обрати внимание: статья написана в сентябре 2016 года, и, если кто-то из авторов вдруг забросит свое творение, не обессудь. Далеко не все разработчики готовы поддерживать серверы и ничего не получать взамен, а пристойной модели монетизации для ботов пока не придумали.
Отчаиваться, однако, пока рано. Есть надежда, что самые слабые боты уже отвалились, а те, что выжили, продержатся еще хотя бы пару лет. Нам удалось найти почти три десятка ботов, которые по-прежнему в строю и готовы приносить пользу любому, кто обратится.
Поиск и базы данных (5 ботов)
Это простейший бот для поиска картинок. Пишем ему /get что-нибудь и получаем в ответ картинку. Повторяем запрос и получаем другую картинку. Если написать /getgif , то бот поищет анимированный GIF. Такого бота бывает полезно подключить к групповому чату и вставлять в разговор изображения, не переключаясь в браузер и не шаманя с сохранением файлов.
Гораздо более продвинутая вариация на тему поиска картинок, созданная программистами «Яндекса». Отличается тем, что в приватном варианте понимает запросы без команды, а также выдает кнопку More — если хочешь повторить запрос, просто дави на нее. Иногда бывают полезны и кнопки с уточнением запроса — их предлагают автоматически в зависимости от темы.
Встроенные боты
В январе 2016 года разработчики Telegram добавили в мессенджер так называемых инлайновых ботов. Эти боты встроены прямо в клиент, и специально подключать их не нужно. Достаточно написать название бота в строке ввода сообщения, и можно взаимодействовать с ним, не покидая беседу. Эта функция поддерживается не во всех клиентах, но в мобильных приложениях она уже есть. Список встроенных ботов пока небольшой:
Мегаполезный бот, служащий интерфейсом к сервису Wolfram Alpha. Если ты вдруг не в курсе, это мощнейший движок, который знает безумное количество величин, измерений и фактов, может делать подсчеты (включая решение уравнений и интегралов) и так далее и тому подобное. В общем, главное — знать, как правильно спрашивать. Делать запросы через Telegram удобно, а вот ответы заметно уступают выдаче в виде веб-страницы: они состоят из нескольких мелких картинок с подписями.
Бот, который ищет информацию о телефонах в базе данных. К сожалению, не содержит справочника абонентов и выдает только данные о регионе и операторе связи. Тем не менее способен пригодиться: к примеру, когда кто-то звонил с номера со странным префиксом, можно не гуглить, а спросить у бота.
Еще одна база данных, на этот раз автомобильных номеров. Для автомобилистов совершенно незаменимая штука: можно вбить номерной знак, VIN или номер телефона владельца машины и получить в ответ остальную информацию. Бот снабжен даже системой распознавания текста на картинках — если отправить фотографию с ясно видным номером, то он будет расшифрован и использован для поиска. Еще можно слать ссылки на auto.ru, avito.ru и darom.ru. Единственный недостаток — бот иногда спамит саморекламой.
Безопасность (7 ботов)
Бот компании Dr.Web, который прямо в чате проверяет файлы на наличие вирусов. По сути, просто другой интерфейс для онлайновой проверки, доступной на сайте. Потенциально полезная особенность — бота можно добавить в группу, и он будет автоматически сканировать все поступающие файлы и ссылки. Ограничение на размер файла — 10 Мбайт.
Vulners — это мощнейший агрегатор информации об уязвимостях. Если ты не вылезаешь из Telegram, то, возможно, тебе будет удобно посылать запросы к Vulners, не переключаясь в браузер. Зафрендив бота, просто набери команду /search и свой запрос (подробнее о синтаксисе команд и возможностях Vulners читай в нашей июньской статье). Вторая полезная команда — это /subscribe . Укажи после нее запрос, и каждый раз, когда появится новый результат, ты получишь оповещение.
Бот, проверяющий файлы PHP и JS на предмет уязвимостей. Работает аналогично бесплатной версии программы AI-Bolit (подробнее о ней читай в статье «Антивирус для сайта» в «Хакере» за март 2014 года). Учитывая, что база уязвимостей не то чтобы очень большая, а файлы для проверки нужно загружать по одному, удобство практического применения бота под вопросом. Зато можешь изучить исходники сканера, выложенные автором на GitHub.
Простенький, но тем не менее полезный бот для проверки возвращаемого сайтами статуса HTTP. Просто пишешь URL или IP и через секунду видишь статус. Расшифровку статусов можешь подсмотреть в «Википедии».
Бот для создания рандомных ключей, которые годятся для различных кодов и паролей. Сначала назначаешь длину ключа, затем выбираешь, из каких символов его составлять: это могут быть цифры, буквы, цифры и буквы или все вместе плюс случайные символы (режим super8).
Наш любимый бот с базой незащищенных (и слабозащищенных) точек доступа Wi-Fi, расположенных на территории России и стран ближнего зарубежья. Самое приятное — для многих хотспотов в базе есть пароли. Сидишь в шикарном ресторане и стесняешься попросить немного интернета на десерт к стакану воды? Не беда! Можно спросить у бота, просто введя название сети.
Подробнее о 3WiFi читай в нашем небольшом обзоре.
Полезности (10 ботов)
Второй бот, созданный в стенах «Яндекса». Он предоставляет доступ к движку сервиса Yandex Translate и переводит слова или куски текста с одного языка на другой. На выбор 12 языков: основные европейские, узбекский, турецкий и еще парочка. Командой /setmylang задаешь, с какого языка переводить, командой /tolang — на какой. К сожалению, бот по возможностям сильно уступает сайту: там есть не только выбор из 87 языков, включая латынь и эльфийский, но и автоматический вывод синонимов для каждого слова.
Если у тебя есть аккаунт на GitHub, а в нем хотя бы один живой проект, то этот бот обязательно должен привлечь твое внимание. После подключения к API GitHub ты сможешь получать уведомления о поступающих комментариях и даже отправлять ответы прямо из мессенджера. Несложно придумать еще десяток полезных вещей, которые мог бы делать такой бот, но и то, что есть, — уже неплохо.
«QR-волшебник», как несложно догадаться, помогает работать с QR-кодами. Если хочешь создать код, просто отправь боту строку текста или ссылку. QR Wizardbot переспросит, нужно ли шифровать, и вернет картинку с кодом. Есть и функция расшифровки — скармливаешь боту фотографию, он пропускает ее через свой OCR и, если повезет, выдает содержимое QR-кода.
Распознавание обычно не спотыкается ни о низкое качество изображения, ни о лишние объекты на снимке. Главное, чтобы сам код был хорошо виден.
Этот мощнейший бот для работы с Google Analytics пришел в Telegram из командного мессенджера Slack. Подключив его к аккаунту Google, ты можешь запрашивать аналитику о своем сайте при помощи команд, напоминающих естественный язык.
К примеру, команда sessions yesterday покажет график посещаемости за предыдущий день, users now выдаст число пользователей, которые находятся на сайте в данный момент, users by page покажет топ наиболее просматриваемых сегодня страниц. Никто не мешает и комбинировать запросы. К примеру, написав pageviews by browser last month , ты увидишь круговую диаграмму, которая показывает, какие браузеры наиболее активно использовались в прошлом месяце. В общем, для владельцев сайтов — абсолютный маст-хэв.
Этот бот задумывался разработчиками как оперативный способ узнавать об изменениях курса доллара. С тех пор именно эта функция перестала работать и перекочевала в отдельный канал sberometer_kurs. Зато бот сообщает курс доллара по команде /kurs и конвертирует из иностранных валют в рубли, если написать что-нибудь вроде /EUR количество (без параметра эта команда выведет курс евро). Список поддерживаемых валют можно посмотреть при помощи команды /list , а команда /news выведет несколько последних финансовых новостей.
Ты не поверишь, но это бот для записи в поликлинику. Если ты живешь в Москве и тебя беспокоит какой-нибудь недуг, то это твой шанс перестать игнорировать проблему и наконец записаться на прием к врачу. Бот, как и сайт emias.info, создан на основе открытых API, которые портал госуслуг предоставляет сторонним разработчикам. Все, что нужно для авторизации, — это номер СНИЛС. Если не потерял его, то добро пожаловать в виртуальную регистратуру!
Контент и развлечения (6 ботов)
Многих других ботов можно обвинить в том, что они по функциональности не дотягивают до аналогичных сайтов. Но только не бот Rutracker.org! Это полноценная версия трекера, в которой можно искать (просто напиши запрос), сортировать выдачу (к примеру, команда se отсортирует по количеству сидов, а sz — по размеру раздачи) и получать magnet-ссылки на торренты. Чтобы запросить magnet link, найди в выдаче под описанием интересующей раздачи ссылку вида /download_символы и просто нажми на нее. Не хватает разве что возможности выбрать раздел для ограничения поиска.
За день до сдачи статьи бот перестал отвечать на поисковые запросы, но на следующий день снова ожил. Судя по отзывам на форумах, такие перебои в работе — обычное дело.
Скачивание музыки из «Вконтакте» — вечно актуальная тема. И конечно же, для этих целей существует бот. Он через API подключается к «Вконтакте» и запрашивает доступ к аудиозаписям. Подтвердив, можно жать кнопку «Мои аудиозаписи» и листать страницы с треками. Бот позволяет посмотреть добавленные альбомы (кнопка «Выбрать альбом») и плей-листы.
Файлы можно скачивать или слушать прямо в «Телеграме». К сожалению, в версии Telegram для iOS бот заблокирован.
Напоследок — чисто развлекательный, но интересный бот. Пишешь ему любую строчку, а он накладывает ее на анимированный GIF. Интересная особенность заключается в том, что гифка обычно имеет некоторую связь с тем, что написано, причем даже если писать по-русски. Польза, конечно, сомнительна, зато весело.
На этом наш список заканчивается, но если ты пользуешься каким-то ботом, которого в нем нет, не стесняйся рассказать об этом в комментариях!
Источник: xakep.ru
Бесплатный антибот для сайта Purgatory

02 Декабря 2019 Проджекты 40 комментариев
В начале ноября наткнулся на Гитхабе на скрипт bot-detector.js
Мне понравилась идея проверки посетителя на действие. Т.е. клиент зашедшего на сайт должен не только поддерживать JS (что сейчас в общем-то обязательно, а те единицы, кто отключают, не нужны), но и нажать на кнопку, подвигать мышкой, прикоснуться к экрану (если это смартфон) и т.д. В общем, любое действие с его стороны, что 99.99% ботов сделать не смогут.
Простая HTML-страница с кнопкой и просьбой совершить любое действие (для десктопа и для мобильного — разные шаблоны). Немного бэкэнда, и вот антибот для сайта готов. Хотя это больше тоже страница-заглушка, которую я назвал Purgatory, где отсеиваются все боты, спамеры, чекеры и парсеры, кроме ботов поисковых систем (ну или ботов, которых вы сами укажите, например, RSS-парсер Топсапы). Заглушка показывается 1 раз, а далее вешается кука и посетитель спокойно пользуется сайтом.

7 ноября я поставил антибот на свой блог и даже на моем маленьком сайте за 25 дней заблокировано 1659 ботов и 14 713 посещений. Конечно, вполне возможно, что среди них есть и реальные посетители, но за все это время я не увидел хоть сколько-нибудь значительного снижения посещаемости или активности посетителей. Все как обычно. Но, соответственно, снизилась нагрузка на сервак, плюс полностью избавился от спама в формы, который иногда все же проходил через защиту.
Список самых наглых (рядом цифры сколько раз «стучался»):
Список явных ботов:
А вот такие урлы простукивают:
В общем-то, можно, конечно, прописывать User-Agent ботов в .htaccess и писать какие-либо регулярки для отсеивания по нелегитмному урлу — таких решений в интернетах достаточно. Но это неэффективно — появляются новые, старые меняют названия. Да, приличные сервисы прямо указывают, что это их бот, некоторые даже исполняют директивы robots.txt, но вот те, кто простукивает с целью получения информации об уязвимости или парсинга, ставят самый обычный UA и заблочить таким образом их практически нереально. Поэтому предлагаю скачать антибот и установить себе на сайт.
СКАЧАТЬ АНТИБОТ 1.2

Антибот бесплатный и останется таким в текущем виде.
Подключается одной строкой в index.php вашей CMS (в readme.txt указано).
Единственный минус — теряется реферер, а значит в сторонней статистике будет неполная инфа по источникам трафика и точкам входа. Можно поставить счетчик прям в заглушку, но в этом случае будет неадекватное количество просмотров в статистике.
Источник: sanchopancho.ru
