CrawlerDetect — это класс PHP для обнаружения ботов/сканеров/пауков через user agent
и заголовок http_from
. В настоящее время способен обнаружить тысячи ботов/пауков/сканеров.
composer require jaybizzle/crawler-detect
use JaybizzleCrawlerDetectCrawlerDetect;$CrawlerDetect = new CrawlerDetect;// Проверяем пользовательский агент текущего посетителя if($CrawlerDetect->isCrawler()) {// true, если пользовательский агент сканера обнаружен}// Передаем пользовательский агент в виде строкиif ($CrawlerDetect->isCrawler('Mozilla/5.0 (совместимо; Sosospider/2.0; +http://help.soso.com/webspider.htm)')) {// true, если обнаружен пользовательский агент сканера}// Вывести имя бота, который соответствует (если есть) echo $CrawlerDetect->getMatches() ;
Если вы обнаружите пользовательский агент бота/паука/сканера, который CrawlerDetect не может обнаружить, отправьте запрос на включение с шаблоном регулярного выражения, добавленным в массив $data
в Fixtures/Crawlers.php
и добавьте пользовательский агент, сбойный в tests/crawlers.txt
.
В противном случае просто создайте проблему с найденным пользовательским агентом, и мы займемся этим :)
Если вы хотите использовать это с Laravel, см. Laravel-Crawler-Detect.
Чтобы использовать эту библиотеку с Symfony 2/3/4, ознакомьтесь с CrawlerDetectBundle.
Чтобы использовать эту библиотеку с фреймворком YII2, ознакомьтесь с yii2-crawler-detect.
Чтобы использовать эту библиотеку с NodeJS или любым другим приложением на основе ES6, ознакомьтесь с es6-crawler-detect.
Чтобы использовать эту библиотеку в проекте Python, ознакомьтесь с Crawlerdetect.
Чтобы использовать эту библиотеку в проекте JVM (включая Java, Scala, Kotlin и т. д.), воспользуйтесь CrawlerDetect.
Чтобы использовать эту библиотеку в проекте на основе стандарта .net (включая ядро .net), ознакомьтесь с NetCrawlerDetect.
Чтобы использовать эту библиотеку с Ruby on Rails или любым приложением на основе Ruby, ознакомьтесь с гем Crawler_detect.
Чтобы использовать эту библиотеку с Go, ознакомьтесь с модулем Crawlerdetect.
Части этого класса основаны на блестящем MobileDetect.