ООО ЭкоЮнит
FAQSearchMemberlistUsergroupsFilesLog inRegisterГлавная
Aeroion.Ru Forum Index
  » Технические форумы
   » Поддержка и моды для phpBB2
    » Phpbb2-searchmonitor
   Мод ведет статистику ботов, показывает ботов на форуме как phpBB3.
printer-friendly view
 
 
AuthorMessage
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Show/Hide

Название мода: phpbb2 searchmonitor
Автор: CodeWorld (www.sysbin.com), vlad77
Описание мода: Этот мод ведет статистику ботов, показывает ботов на форуме как phpBB3, и может объединять сессии одинаковых ботов в одну сессию.
Версия: 2.1.1

Title: phpbb2 searchmonitor
Author: CodeWorld (www.sysbin.com), vlad77
Description: This mode maintains statistics bots, shows bots on the forum as phpBB3, and may combine the same session bots in one session.
Version: 2.1.1

Добавлено спустя 3 минуты 24 секунды:

P.S. часть кода осталась от CodeWorld. Поэтому не все по стандартам phpBB сделано.


Download phpbb2-searchmonitor.zip (22.73 KB). Added/Updated Mon 17 Oct, 2016 17:27. Downloaded 5 Time(s).
Version: 2.1.1 Мод ведет статистику ботов, может автоматически определять и регистрировать ботов, показывает ботов на форуме как phpBB3, и может объединять сессии одинаковых ботов в одну сессию. This mode maintains statistics bots, it can automatically detect and record bots, shows bots on the forum as phpBB3, and may combine the same session bots in one session.

Download phpbb2-searchmonitor.zip (22.42 KB). Added/Updated Tue 11 Oct, 2016 13:07. Downloaded 2 Time(s).
Version: 2.1.0 Мод ведет статистику ботов, может автоматически определять и регистрировать ботов, показывает ботов на форуме как phpBB3, и может объединять сессии одинаковых ботов в одну сессию. This mode maintains statistics bots, it can automatically detect and record bots, shows bots on the forum as phpBB3, and may combine the same session bots in one session.

Download phpbb2-searchmonitor.zip (19.53 KB). Added/Updated Sun 11 Sep, 2016 18:54. Downloaded 3 Time(s).
Version: 2.0.3 Мод ведет статистику ботов, показывает ботов на форуме как phpBB3, и может объединять сессии одинаковых ботов в одну сессию.This mode maintains statistics bots, shows bots on the forum as phpBB3, and may combine the same session bots in one session.

Back to topOffline View user's profile
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Show/Hide

Version: 2.0.1
В админке добавлены кликабельные ссылки на страницы форума, которые "просматривают" боты.
Back to topOffline View user's profile
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Show/Hide

Version: 2.0.2
Добавлены аддоны для модов Super whoisonline и Remember guest name in cookie
Удален случайно попавший в архив ненужный файл.

Для обновления, замените файл admin_bot.php на новый.
Back to topOffline View user's profile
Sergey Gender:Male


Местный босс - администратор


Joined: 06 Jan 2005
Show/Hide

Неплохо. Сюда тоже натянул, посмотрим на каких страницах шастают боты. Я недавно глянул лог для robots.txt, увидел что с некоторых пор сайт упорно грызёт какой- то
Riddler (http://riddler.io/about), причём буквально каждые 10-20 минут.


===============
В install.txt
Code:

language/lang_russian/lang_main.php

$lang['Search_Bot'] = 'ѕоисковые боты'; 


Добавлено спустя 55 минут 19 секунд:

Самих ботов не так уж и много, если судить по логам за две недели.

CCBot/2.0 (http://commoncrawl.org/faq/)
ia_archiver
ltx71 - (http://ltx71.com/)
Mozilla/5.0 (compatible; AhrefsBot/5.1; +http://ahrefs.com/robot/)
Mozilla/5.0 (compatible; archive.org_bot; Wayback Machine Live Record; +http://archive.org/details/archive.org_bot)
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
Mozilla/5.0 (compatible; Cliqzbot/1.0 +http://cliqz.com/company/cliqzbot)
Mozilla/5.0 (compatible; DeuSu/5.0.2; +https://deusu.de/robot.html)
Mozilla/5.0 (compatible; DotBot/1.1; opensiteexplor.....rg/dotbot, help@moz.com)
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php)
Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots)
Mozilla/5.0 (compatible; MegaIndex.ru/2.0; +http://megaindex.com/crawler)
Mozilla/5.0 (compatible; oBot/2.3.1; filterdb.iss.net/c.....rawler/)
Mozilla/5.0 (compatible; proximic; +http://www.proximic.com/info/spider.php)
Mozilla/5.0 (compatible; SemrushBot/1.1~bl; +http://www.semrush.com/bot.html)
Mozilla/5.0 (compatible; SEOkicks-Robot; +http://www.seokicks.de/robot.html)
Mozilla/5.0 (compatible; SeznamBot/3.2; +http://napoveda.seznam.cz/en/seznambot-intro/)
Mozilla/5.0 (compatible; SputnikBot/2.3; +http://corp.sputnik.ru/webmaster)
Mozilla/5.0 (compatible; Yahoo! Slurp; help.yahoo.com/hel.....arch/slurp)
Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)
omgili/0.5 +http://omgili.com
Riddler (http://riddler.io/about)
Twitterbot/1.0
WebIndex

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, скайп, слать емайлы, пытаться писать в приват. Спасибо за понимание. Please do not PM, ICQ, Skype or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
Back to topOffline View user's profile Visit poster's website Skype Name
Василий_007

Участник


Joined: 18 Dec 2014
Show/Hide

Стоит оригинальный мод Search Monitor RC-1 by CodeWorld. Прожорливая зараза, как оказалось. Был у хостера сбой бд, форум в дауне - нехватка памяти, я закоментил этот мод - опа, уже топики открываются.
Имхо, высокая цена за такое внимание к ботам. Но строчка с ботами онлайн - это прикольно, да.

По хорошему, его бы переделать, вписать масив с именами нужных ботов прямо в php и выводить на главной (или где надо). И все. А последний визит ботов, имхо ну нафик для этого так мучать базу, для этого есть awstats.

Добавлено спустя 4 минуты 28 секунд:

Quote: Show

Таких сразу в бан, через .htaccess Twisted Evil
Back to topOffline View user's profile
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Show/Hide

Василий_007 @ Fri 09 Sep, 2016 23:30 wrote: (View Post)
Show
В этом моде запросы оптимизировались для снижения нагрузки. Слежение за ботами это основная функция мода. Там кроме последнего визита ботов еще активность ботов, юзер агенты, обратные dns запросы. Настройки показа на форуме сессий ботов как одного бота. Задание цветов ботов и пр.

P.S. Если вам нужен только показ ботов на форуме, то вот мод со списком ботов прямо в page_header.php: - downloads.phpbb-se.....ts-15.html

Добавлено спустя 3 минуты 54 секунды:

Оригинальный Search Monitor RC-1 by CodeWorld, написан очень плохо, с тяжелыми запросами и плохим кодом. Алгоритм определения ботов в файле bot.php попросту ужасен. Искался гость с ip, таким же как в последнем визите одного из ботов. Shocked

Добавлено спустя 7 минут 13 секунд:

Sergey, у меня на форум официально допущенны ГуглБот, ЯндексБот и Мэйл-руБот. Остальные боты могут смотреть сайт, кроме форума. Но благодаря интеграции форума с сайтом на главной форума видны все боты. По возможности стараюсь использовать robots.txt, а не .htaccess

Скрипт для определения ботов через лог просмотра robots.txt Лог обращений к robots.txt на сайте.
Back to topOffline View user's profile
Sergey Gender:Male


Местный босс - администратор


Joined: 06 Jan 2005
Show/Hide

admin_bot.php
Строка выдала ошибку в запросе, так как имя 'show' зарезервировано в MySQL.
Code:
        $sql="INSERT INTO `".USERS_TABLE."_bots` VALUES ( '$id', '$bot', '$view', 0, '', '', 1 )"; 

заменил на
Code:
        $sql="INSERT INTO `".USERS_TABLE."_bots`
                (id, name, `view`, lastvisit, was, ip, `show`)
                VALUES ( '$id', '$bot', '$view', 0, '', '', 1)";
        if (!$db->sql_query($sql))
        {
            message_die(CRITICAL_ERROR, 'Error inserting new bot', '', __LINE__, __FILE__, $sql);
        } 


Поле 'id' в таблице`phpbb_users_bots` можно сделать AUTO_INCREMENT, и тогда можно исключить вычисление очередного значения при записи нового бота.
Code:
ALTER TABLE `phpbb_users_bots` CHANGE `id` `id` MEDIUMINT(8) NOT NULL AUTO_INCREMENT; 

Выделенное красным соответственно тоже убрать.

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, скайп, слать емайлы, пытаться писать в приват. Спасибо за понимание. Please do not PM, ICQ, Skype or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
Back to topOffline View user's profile Visit poster's website Skype Name
Василий_007

Участник


Joined: 18 Dec 2014
Show/Hide

vlad77 @ Sat 10 Sep, 2016 10:04 wrote: (View Post)
Show
Да, то что надо.
Снес старый by CodeWorld, поставил этот, залил полсотни IP с логов - все збс.
Только ип писал не "123.456" а "123.456." с точкой в конце, так вроде точнее...

Теперь думаю, нафиг мне эти ип если можно по юзерагенту гостей перебирать.
Back to topOffline View user's profile
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Show/Hide

Sergey, спасибо за тестирование и за правку. Этот код прокрался из мода CodeWorld. У меня мод эту ошибку не выдавал, по видимому некоторые базы более требовательны к качеству запросов.

Version: 2.0.3
 phpbb2-searchmonitor.zip
для обновления, замените файл admin_bot.php и выполните запрос
Code:
ALTER TABLE `phpbb_users_bots` CHANGE `id` `id` MEDIUMINT(8) NOT NULL AUTO_INCREMENT; 


Добавлено спустя 2 минуты 59 секунд:

Вот и польза от мода. Мод показал, что бот Majestic12 кликал форум чаще Яндеса. Закрыл маджестику доступ на форум.
Back to topOffline View user's profile
Sergey Gender:Male


Местный босс - администратор


Joined: 06 Jan 2005
Show/Hide

Решил развить функционал дальше. Регистрируем страницу, которую последнюю посещал бот, и регистрируем user-agent и ip-адрес, если он похож на бота. Так за неполные две недели я отловил немало разной хуеты, которая дёргала форум.

Code:
ALTER TABLE `phpbb_users_bots` ADD `lastviewpage` VARCHAR(255) NOT NULL DEFAULT ''; 


Функцию is_bot() в sessions.php заменить на

Code:
function is_bot()
{
    global $db, $client_ip;

    static $is_bot;
    if (!isset($is_bot))
    {
        $is_bot = '';

        $sql="SELECT `name`, `view`, `show` FROM " . USERS_TABLE . "_bots";
        if( !$result = $db->sql_query($sql) )
        {
            message_die(GENERAL_ERROR, 'Could not get bot information', '', __LINE__, __FILE__, $sql);
        }
        $bot_list_row = array();
        while( $row = $db->sql_fetchrow($result) )
        {
            $bot_list_row[] = $row;
        }
        $db->sql_freeresult($result);

        $is_agent = (!empty($_SERVER['HTTP_USER_AGENT'])) ? addslashes((string) $_SERVER['HTTP_USER_AGENT']) : '';
        $findme = strtolower($is_agent . $client_ip);
        $script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');

        $botix='';
        $counter_bot_list_row = count($bot_list_row);
        for ($i = 0; $i < $counter_bot_list_row; $i++)
        {
            if (@strpos($findme,strtolower(trim($bot_list_row[$i][name])))!==false)
            {
                $botix=$bot_list_row[$i][name];
                $sql_priority = (SQL_LAYER == 'mysql') ? 'LOW_PRIORITY' : '';
                $sql="UPDATE $sql_priority ".USERS_TABLE."_bots 
                    SET lastvisit = UNIX_TIMESTAMP(), ip = '".addslashes($client_ip)."', was = was + 1,
                        lastviewpage = '" . addslashes($script_name) . "'
                    WHERE name = '".addslashes($botix)."'";
                $db->sql_query($sql);

                if ($bot_list_row[$i][show]==1)
                {
                    if (trim($bot_list_row[$i][view])!=='')
                    {
                         $bot_list_row[$i][name]=$bot_list_row[$i][view];
                    }
                    $is_bot = $bot_list_row[$i][name];
                }
                break;
            }
        }
        if ($botix=='' && isRobot())
        {
            $is_bot = $is_agent;
            if (empty($is_agent))
            {
                $is_agent = addslashes(@gethostbyaddr($client_ip));
                $is_bot = $client_ip;
            }
            $sql="INSERT INTO `".USERS_TABLE."_bots`
                    (name, `view`, lastvisit, was, ip, `show`, lastviewpage)
                    VALUES ('$is_bot', '$is_agent', UNIX_TIMESTAMP(), '1', '".addslashes($client_ip)."', '0', '" . addslashes($script_name) . "')";
            $db->sql_query($sql);
        }
    }
    return $is_bot;
} 


Функцию isRobot() можно взять из поста Функция для определения поисковых ботов и вставить или в sessions.php или в functions.php.
admin_bot.php скачать здесь
Protected Text:
Show

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, скайп, слать емайлы, пытаться писать в приват. Спасибо за понимание. Please do not PM, ICQ, Skype or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
Back to topOffline View user's profile Visit poster's website Skype Name
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Show/Hide

При тестировании admin_bot.php, когда добавляю бота, выбрасывает из админки, по видимому теряется sid, попробую при добавлении бота заменить POST запрос на GET.

_________________
Архив модов с phpbb.com phpbb2refugees.com......php?t=241
Архив модов с phpbb2.de yadi.sk/d/XP53sFs.....93Q36Ap , drive.google.com/.....49aHH-NdbR
Back to topOffline View user's profile
Sergey Gender:Male


Местный босс - администратор


Joined: 06 Jan 2005
Show/Hide

У меня никуда не выбрасывает.

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, скайп, слать емайлы, пытаться писать в приват. Спасибо за понимание. Please do not PM, ICQ, Skype or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
Back to topOffline View user's profile Visit poster's website Skype Name
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Show/Hide

Надо на чистом форуме проверить. Как я понимаю, при POST, админка ждет sid в <form action, а при GET - ждет в <input type="hidden". Поэтому у меня в этом моде все sid передаются через <input type="hidden".

Добавлено спустя 1 минуту 57 секунд:

После замены addbot на GET, проблема исчезла.

Добавлено спустя 23 минуты 14 секунд:

Форум может работать на нескольких доменах. Поэтому предлагаю регистрировать кроме последней страницы, еще и домен.

is_bot() в sessions.php
Code:
найти
    global $db, $client_ip;

заменить
    global $db, $client_ip, $board_config;

найти
        $script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');

заменить
        $server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://';
        $server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
        $server_name =(!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME');
        $script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');

найти
                        lastviewpage = '" . addslashes($script_name) . "'

заменить
                        lastviewpage = '" . addslashes($server_protocol . $server_name . $server_port . $script_name) . "' 
Back to topOffline View user's profile
Sergey Gender:Male


Местный босс - администратор


Joined: 06 Jan 2005
Show/Hide

Подправил функцию isRobot() Функция для определения поисковых ботов . Есть корейские боты udger.com/resourc.....bot=Daumoa , которых однозначно по user-agent'у не определить. Поэтому приходится проверять два раза. Но ведут они себя достаточно прилично, хренову тучу страниц за раз не дёргают.

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, скайп, слать емайлы, пытаться писать в приват. Спасибо за понимание. Please do not PM, ICQ, Skype or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
Back to topOffline View user's profile Visit poster's website Skype Name
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Show/Hide

В функции function is_bot(), при регистрации ботов, IP перед записью в базу экранируется с помощью addslashes , '".addslashes($client_ip)."', а $is_robot может быть равен $client_ip, поэтому наверно правильным будет
Code:
$is_robot = $client_ip;
заменить на
Code:
$is_robot = addslashes($client_ip); 


Добавлено спустя 2 часа 46 минут 46 секунд:

При авторегистрации ботов, свежезарегистрированный бот попадает в return $is_bot; и соответственно становится виден на форуме - на индексе и в "Кто на форуме?". Поэтому в коде отвечающем за авторегистрацию надо заменить переменную $is_bot на $is_newbot

_________________
Архив модов с phpbb.com phpbb2refugees.com......php?t=241
Архив модов с phpbb2.de yadi.sk/d/XP53sFs.....93Q36Ap , drive.google.com/.....49aHH-NdbR
Back to topOffline View user's profile
Display posts from previous:   

Summary Rating For >> Phpbb2-searchmonitor
Average Rating: 0.00 :: Min Rating: 0 :: Max Rating: 0 :: Number of Ratings: 0
Choose Rating: 1   2   3   4   5  

Similar Topics
Topic Author Forum Replies Last Post
No new posts Мод Block spambots in registration
защита от автоматической регистрации спам-ботов на форуме
Название мода: Block spambots in registration. Описание мода: Позволяет предотвращать регистрацию на форуме спам-роботов. Версия мода: 1.0.2 Сложность установки: Легко Время установки: ~5 минут Примечание автора: Данный
Sergey Поддержка и моды для phpBB2 4 Wed 04 Apr, 2018 16:03 View latest post
vlad77
No new posts Hidden Topic: мод для защиты форума от спам-ботов papa Поддержка и моды для phpBB2 3 Mon 29 Sep, 2008 22:28 View latest post
Sergey
No new posts Удаление ссылок анонимных пользователей
Block guest's links, Detector Bots, защита от спам-ботов
Вариант мода Block guests links. Позволяет удалять гостевые ссылки на этапе записи сообщения в базу. Code # #---- [ OPEN ]----------------- # includes/functions_post.php # #---- [ FIND ]----------------- # in function
Sergey Поддержка и моды для phpBB2 16 Sat 07 Jul, 2018 16:21 View latest post
vlad77
No new posts Не видно капчу в браузере Firefox - phpbb2
в остальных браузерах все хорошо, защита от спам-ботов, капча
Здравствуйте! После последних обновлений браузера мазила фаерфокс в нем перестала отображаться капча на форуме. При этом в опере и хроме по-прежнему все отображается нормально. Посмотреть пример можно тут -
Bender Поддержка и моды для phpBB2 17 Sun 13 Jul, 2014 20:26 View latest post
АлексейМ
No new posts Мод Anti Bot Question MOD - Extended Quick Reply Form AddOn
защита от спам-ботов в форме быстрого ответа
Описание мода: Добавляет в быстрый ответ Extended Quick Reply Form by Xpert защиту от спам-ботов при использовании мода Anti Bot Question. Версия мода: 1.0.2 Сложность установки: Легко Время установки: ~5 минут
Sergey Поддержка и моды для phpBB2 8 Sun 01 Apr, 2007 18:33 View latest post
Sergey






All times are UTC + 3 hours
Users browsing this topic:
Registered Users: None

Jump to:   
printer-friendly view
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
/a
Username:

Password:

Log me on automatically each visit
  Яндекс.Метрика
CrackerTracker © 2004 - 2018 CBACK.de