[RC-1] Search monitor

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
CodeWorld
phpBB 1.4.2
Сообщения: 68
Зарегистрирован: 04.03.2006 16:19

[RC-1] Search monitor

Сообщение CodeWorld » 08.05.2006 0:52

Описание
После установки поисковики будут появляться в списке онлайн (для отдельных поисковиков можно запретить отображение в этом списке) пользователей как зарегистрированные юзеры. Так же ведётся статистика (сколько раз заходил тот или иной поисковик). Идентификация поисковика может проходить по ипу, юзер агенту, хосту.


Версия: RC-1


Установка

1) Скопировать приложенный файл (bot.php) в корень форума.

2) Запустить bot.php и нажать "Install now".

3)

Найти в INCLUDES/PAGE_HEADER.PHP

Код: Выделить всё

	if ( empty($online_userlist) )
	{
		$online_userlist = $lang['None'];
	}
Перед добавить

Код: Выделить всё

//-------------------------------------
//-------- search monitor RC-1 --------
//-------------------------------------

}

    //--------[config]

    $sm_color      = "red";
    $sm_findbyhost = false;
    $sm_mynick     = "nick which replace search monitor";
    $sm_showme     = "<font color='black'><b>$sm_mynick</b></font>";

    //-----------[end]

    $sql="SELECT * FROM ".USERS_TABLE.'_bots';
    $res=$db->sql_query($sql);
    $findme=getenv("HTTP_USER_AGENT").getenv("REMOTE_ADDR");
    if($sm_findbyhost) $findme.=@gethostbyaddr(getenv("REMOTE_ADDR"));
    $findme=strtolower($findme);
    while( $row = $db->sql_fetchrow($res) ) { 
    if (@strpos($findme,strtolower(trim($row[name])))!==false){
       $botix=$row[name];
       $row[was]=intval($row[was])+1;
       $row[lastvisit]=time();
       $sql="UPDATE ".USERS_TABLE."_bots SET `lastvisit` = '".time()."', `ip` = '".addslashes(getenv("REMOTE_ADDR"))."', `was` = '".intval($row[was])."' WHERE `name` = '".addslashes($botix)."'";
       $db->sql_query($sql);
       }
       if (($row[lastvisit]>(time()-300))and($row[show]==1))
       if (( empty($topic_id) )and( empty($forum_id) )) {
          $guests_online--;
          $logged_visible_online++;
          if (trim($row[view])!=='') $row[name]=$row[view];
          if ($online_userlist!=='') $online_userlist.=', <font color="'.$sm_color.'"><b><u>'.$row[name].'</u></b></font>';
          else $online_userlist.='<font color="'.$sm_color.'"><b><u>'.$row[name].'</u></b></font>';
          }
    }
    if ($guests_online<1) $guests_online=0;

    if (defined('SHOW_ONLINE')) {
    $online_userlist=str_replace($sm_mynick,$sm_showme,$online_userlist);

//-------------------------------------
//-- thx for using search monitor :) --
//-------------------------------------
Когда будете удалят, выполните bot.php?uninstall

Что нового?
По сравнению с бетой 1++ появилась поддержка мода Topic in who is online (спасибо BMG). Прошу проверить не допустил ли я ошибок при внедрении этого дополнения! Включается поддержка мода Topic in who is online простым изменением переменной с false на true (см. архив). Так же вынесены еще некоторые "настроичные" переменные (искать по хосту?, цвет ника и ещё одна штука - см. скрин). Из функционала ничего нового, есть предложения?
Вложения
coolnick.png
Дополнительная возможность - преукрасить свой ник в списке онлайн юзеров.
coolnick.png (9.35 КБ) 7952 просмотра
screen.png
Вид из админки! :)
phpbb-searchmonitor_rc1.rar
bot.php надо копировать в корень форума. потом к нему смогут обращаться тока админы
(6.75 КБ) 1004 скачивания
Последний раз редактировалось CodeWorld 16.02.2007 11:02, всего редактировалось 19 раз.

CodeWorld
phpBB 1.4.2
Сообщения: 68
Зарегистрирован: 04.03.2006 16:19

Сообщение CodeWorld » 08.05.2006 12:35

Теперь можно использовать search monitor для узнавания людей :) Например вписываете часть ипа (без маски) и даёте имя Колян-казёл. Колян будет удивлён, ведь он ни то что не авторизировался.. он даже не регистрировался на форуме! :)

с кол-вом пользователей онлайн я до сих пор не решил... я держу этих псевдо юзеров в онлайне больше чем обычных (обычные 5 мин, псевдо - 15. чтоб все видели :) ), поэтому если грохну одного гостя, то могу не того.

так же сделал подсветку дня захода (если сегодня то синим цветом)
Последний раз редактировалось CodeWorld 11.05.2006 16:48, всего редактировалось 1 раз.

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4098
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 106 раз
Поблагодарили: 423 раза
Контактная информация:

Сообщение Siava » 08.05.2006 13:32

CodeWorld
Давай уж, реализуй свой мод, хочется потестить что это такое :lol:
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

CodeWorld
phpBB 1.4.2
Сообщения: 68
Зарегистрирован: 04.03.2006 16:19

Сообщение CodeWorld » 08.05.2006 16:15

Да хоть сейчас! Надо просто тонкости утрясти :) Кстати можно добавить адвансед бан. Например на анонимайзеры или определенные барузеры (всяки там редкие и пративные). Да и на спам ботов возможно (некоторых)

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

66.249.66.20 (1056) - вот гугль присасался.. дня еще не прошло, а он уже скачал на мегабайт 70

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

srv009.infobox.ru - это что за хрень? вроде это http://www.cdvseti.ru , а что у них за бот то?

влепил юзерс онлайн. щас его еще наворочю, чтоб 'распознанных' гостями не отображал и не показавыл по 30 открытых страниц одним поисковиком
Последний раз редактировалось CodeWorld 11.05.2006 16:54, всего редактировалось 2 раза.

VovikV
phpBB 1.4.4
Сообщения: 119
Зарегистрирован: 21.11.2005 7:15

Сообщение VovikV » 08.05.2006 19:58

По моему все нужно хранить в отдельной таблице, поставил мод появилась таблица, решил удалить, откатил изменение в файлах и грохнул таблицу.
Как быть с тем, что поисковики могут менять ip? Хорошо бы базу которая пополнялась и корректировалась (не обязательно встроенную в phpbb).

Аватара пользователя
surgeon
phpBB 1.4.3
Сообщения: 87
Зарегистрирован: 03.12.2004 13:23
Контактная информация:

Сообщение surgeon » 08.05.2006 20:18

CodeWorld, вам очень нравится изобретать велосипеды?

http://phpbbguru.net/community/topic3641.html

CodeWorld
phpBB 1.4.2
Сообщения: 68
Зарегистрирован: 04.03.2006 16:19

Сообщение CodeWorld » 09.05.2006 10:12

Да. Бесплатно и для души. А вы хотите на одном энтузиазме самалёт? :)

VovikV
так поисковики ищятся по юзер агент. без юзер агента они заходят очень редко (проверить на клоакинг). поэтому смысла хранить базу айпишников нету. вбил googlebot и вот тебе щастье 8)

Добавлено спустя 1 час 22 минуты 51 секунду:

если я буду обрубать поисковикам SID они за клоакинг не забанят?

Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 07.07.2004 17:12
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Сообщение crash » 09.05.2006 10:56

CodeWorld писал(а):srv009.infobox.ru - это что за хрень? вроде это http://www.cdvseti.ru , а что у них за бот то?
знаете что такое shared хостинг?
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса

CodeWorld
phpBB 1.4.2
Сообщения: 68
Зарегистрирован: 04.03.2006 16:19

Сообщение CodeWorld » 09.05.2006 11:19

Нет, не знаю. По яндексил, объяснения не нашёл :(

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

где то на 117 строчке в php_header делаю так

global $SID;
$SID='';

правильно убираю SID? он пропадает во многих местах, но почему то остаётся на ссылки к профайлам юзеров ну и в загаловке (где там ссылки на залогиниться и т.п.), так как делаю это после его формирования.

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 09.05.2006 12:54

Используйте для этой цели мод Guest Sessions.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений

Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 07.07.2004 17:12
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Сообщение crash » 09.05.2006 13:15

CodeWorld писал(а):Нет, не знаю. По яндексил, объяснения не нашёл
Это когда на одном сервере хостится туева куча народа.. У всех один айпи, но когда вы пытаетесь резолвить айпи, то получаете настоящее имя сервера, а не имя сайта одного из хостящихся
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса

CodeWorld
phpBB 1.4.2
Сообщения: 68
Зарегистрирован: 04.03.2006 16:19

Сообщение CodeWorld » 09.05.2006 17:53

Спасибо за разъяснения. Буду знать :)

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

Xpert, он у меня почему то не работал..несколько раз пробовал ставить. Да и измнений там много, а я на оборот хочу search monitor легко устанавливаемым сделать

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

inktomisearch - это тоже msn-онвские боты или абсолютно разные вещи??

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

Теперь приятная картина в онлайн узерс. Если страниц больше чем 10 (на одного бота) то добавляется троеточие, хотя я думаю что лучше добавить каким нибудь выделяющимся шрифтом MAYBE BOT. Да?

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

Насчёт SID-а. Я думаю придётся опять лезть в шаблонизатор и поставить топорное replace с 'sid=*************' на ''.

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

Гуглил, но так и не нашёл, DigExt это что? Какое то расширение к браузере или всё таки поисковик?

Код: Выделить всё

mozilla/4.0 (compatible; msie 5.0; windows 98; digext)
а InfoPath? для бота слишком много флейма

Код: Выделить всё

mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; mra 4.3 (build 01218); .net clr 1.1.4322; infopath.1)
Добавлено спустя 2 минуты 34 секунды:

inktomisearch - yahoo

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

85.249.135.9 srv009.infobox.ru - вот гадёнышь.. заходит и заходит.. в юзер агент ничего не передаёт

CodeWorld
phpBB 1.4.2
Сообщения: 68
Зарегистрирован: 04.03.2006 16:19

Сообщение CodeWorld » 10.05.2006 14:58

"Я написал небольшой мод, который определяет, что представляет из себя пользователь и в соответствии с этим выдает или не выдает sid=... в ссылках.
На сегодняшний день, мой мод может определять роботов таких поисковых систем, как:"
ну и далее. Вы выдаете пользователям одно, а роботу - другое. Не важно, с какими целями это делается. Это делается => бан без размышлений.
В соседней теме ссылка была. Всё нах исправил... Как бы яндекс не забанил, а то вчера как раз заходил

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 10.05.2006 19:21

Guest Session все нормально делает, не волнуйся.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений

CodeWorld
phpBB 1.4.2
Сообщения: 68
Зарегистрирован: 04.03.2006 16:19

Сообщение CodeWorld » 11.05.2006 17:15

UP

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

Кстати посмотрел что за хост у InfoPath. Хост касперского

Код: Выделить всё

mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; myie2; maxthon; sv1; .net clr 1.1.4322; .net clr 2.0.50727; infopath.1)
muzzle.kaspersky-labs.com
Или это какой то шлюз?

Закрыто

Вернуться в «Бета-версии модов для phpBB 2.0.x»