Определение бота

В данной записи представлена PHP-функция для определения через user agent того что посетителем страницы сайта является бот или же не бот.

Определение бота

Кроме людей, страницы сайта могут посещать боты. Бывают задачи когда нужно выполнять какие то определённые действия в зависимости от того бот или нет зашёл на страницу сайта.

Ниже представлена PHP-функция возвращающая true если на страницу зашёл бот или false если не бот.

Функция выглядит так:

function isBot() {
    $user_agent = $_SERVER["HTTP_USER_AGENT"];

    if (empty($user_agent)) {
        return false;
    }

    if(stristr($user_agent, 'yandex') !== false || stristr($user_agent, 'google') !== false || stristr($user_agent, 'bot') !== false) {
        return true;
    }

    $bots = [
        'Accoona', 'ia_archiver', 'Lighthouse', 'Ask Jeeves', 'W3C_Validator', 'WebAlta',
        'YahooFeedSeeker', 'Yahoo!', 'Ezooms', 'SiteStatus', 'Nigma.ru', 'Baiduspider',
        'SISTRIX', 'findlinks', 'proximic', 'OpenindexSpider', 'statdom.ru', 'Spider',
        'Snoopy', 'heritrix', 'Yeti', 'DomainVader', 'StackRambler'
    ];

    foreach ($bots as $bot) {
        if (stripos($user_agent, $bot) !== false) {
            return true;
        }
    }

    return false;
}

 

Пример использования функции:

if( !isBot() ) {
    // код выполняемый если не бот
}
Записи по теме
3D кнопки для сайта
кнопки Анимированные кнопки для сайта с 3D эффектом нажатия, работающие на чистом CSS. Готовое решение: html и css код для добавления на сайт кнопок с 3D эффектом.
3D трансформации в CSS
куб Куб сделанный в 3D, видео урок - если понять как всё это работает и включить фантазию, то можно сверстать очень много самых разных прикольных штук.
CloudFlare - защита для сайта
cloudflare CloudFlare - самый передовой сервис для защиты сайтов от DDOS атак и не только. Большой функционал сервиса сделал его номером 1. Узнайте больше про технологии CloudFlare.
CSS эффект подчёркивания от центра и слева направо
css 3 Данный эффект - это плавно появляющаяся подчёркивающая линия, которая появляется при наведении на ссылку или пункт меню. Эффект можно применять для чего угодно: для заголовков и названий, отдельных частей текста, иконок, картинок и т.д.
input для ввода номера телефона в бэкенде
input для ввода номера телефона в бэкенде Как в бэкенде Winter CMS сделать поле с маской для ввода номера телефона с помощью javascript библиотеки Inputmask.
JavaScript методы, свойства и события для video и audio
видео и аудио Эти методы, свойства и события позволяют нам управлять элементами audio и video с помощью JavaScript, что позволяет писать собственные видео-плееры и аудио-проигрыватели с любым необходимым функционалом.
Комментарии 0

*** чтобы писать комментарии.