Страница 1 из 9

[RC-1] Search monitor

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


Версия: 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 (см. архив). Так же вынесены еще некоторые "настроичные" переменные (искать по хосту?, цвет ника и ещё одна штука - см. скрин). Из функционала ничего нового, есть предложения?

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

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

так же сделал подсветку дня захода (если сегодня то синим цветом)

Добавлено: 08.05.2006 13:32
Siava
CodeWorld
Давай уж, реализуй свой мод, хочется потестить что это такое :lol:

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

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

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

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

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

влепил юзерс онлайн. щас его еще наворочю, чтоб 'распознанных' гостями не отображал и не показавыл по 30 открытых страниц одним поисковиком

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

Добавлено: 08.05.2006 20:18
surgeon
CodeWorld, вам очень нравится изобретать велосипеды?

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

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

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

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

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

Добавлено: 09.05.2006 10:56
crash
CodeWorld писал(а):srv009.infobox.ru - это что за хрень? вроде это http://www.cdvseti.ru , а что у них за бот то?
знаете что такое shared хостинг?

Добавлено: 09.05.2006 11:19
CodeWorld
Нет, не знаю. По яндексил, объяснения не нашёл :(

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

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

global $SID;
$SID='';

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

Добавлено: 09.05.2006 12:54
Xpert
Используйте для этой цели мод Guest Sessions.

Добавлено: 09.05.2006 13:15
crash
CodeWorld писал(а):Нет, не знаю. По яндексил, объяснения не нашёл
Это когда на одном сервере хостится туева куча народа.. У всех один айпи, но когда вы пытаетесь резолвить айпи, то получаете настоящее имя сервера, а не имя сайта одного из хостящихся

Добавлено: 09.05.2006 17:53
CodeWorld
Спасибо за разъяснения. Буду знать :)

Добавлено спустя 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 - вот гадёнышь.. заходит и заходит.. в юзер агент ничего не передаёт

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

Добавлено: 10.05.2006 19:21
Xpert
Guest Session все нормально делает, не волнуйся.

Добавлено: 11.05.2006 17:15
CodeWorld
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
Или это какой то шлюз?