Поисковые Боты , с упрощенным добавления Новых IP и Ботов
Отображает поисковых ботов в списке активных пользователей на форуме.
Автор: Deff + Romych
Платформа: MyBB
(c) Deff
Попробовал чуть минимизировать скрипт От Romych
В HTML Низ
<!-- Поисковые боты (расширенный список)-->
<div class=botlist style='display:none'>
<p>Yandex,#9E8DA7,95.108.,77.88.,93.158.</p>
<p>Google,#9E8DA7,66.249.</p>
<p>Mail,#9E8DA7,94.100.,217.69.134.,217.69.136.</p>
<p>Rambler,#9E8DA7,81.19.</p>
<p>Yahoo!,#9E8DA7,67.195.,72.30.,74.6.,202.160.</p>
<p>Bing,#9E8DA7,207.46.,65.52.,65.55.,157.55.</p>
<p>Baidu,#9E8DA7,119.63.,123.125.,220.181.</p>
<p>Ask,#9E8DA7,66.235.</p>
<p>Ezooms,#9E8DA7,208.115.111.</p>
<p>Aport,#9E8DA7,194.67.</p>
</div>
<script>var L0=$("#navlogout").html(),L=$(".punbb").attr("id");if((L0!=null)&&(GroupID<3)&&(L=="pun-index"||L=="pun-online")){var Botlist={},L=[];$(".botlist p").each(function(j){L[j]=$(this).text().split(",");Botlist[L[j][0]]=L[j]});$.ajax({type:'GET',url:'online.php',success:function(data){$(data).find('div#pun-online td.tcl:first-child').map(function(){var OnlineIP=$(this).find('a').attr('title');Str='<a href="/online.php" class="bot" title="';for(var key in Botlist){for(i=2;i<Botlist[key].length;i++){var pattern="^"+Botlist[key][i],regexp=new RegExp(pattern,"ig");if(OnlineIP.search(regexp)!=-1){var L=Str+OnlineIP+'"><span style="color:'+Botlist[key][1]+';" > , '+Botlist[key][0]+'[bot]</span></a>';$('li#onlinelist.item5 span:first').append(L);}}}})}});$('div#pun-online td.tcl a:contains("Гость")').map(function(){OnIP=$(this).attr('title');for(var key in Botlist){for(i=2;i<Botlist[key].length;i++){var pattern="^"+Botlist[key][i],regexp=new RegExp(pattern,"ig");if(OnIP.search(regexp)!=-1){$(this).html(Botlist[key][0]+'[bot]').css({'color':Botlist[key][1]})}}}})}</script>
Кстать должен исчезнуть трабл - с массовостью сидения в "Смотрит список активных пользователей"
(c) Romych
ни для кого не секрет, что поисковые боты присутствуют на наших форумах в качестве гостей,
принцип "отлова" ботов такой
у Яндекс бота диапазон ip - 95.108.xxx.xxx
у Гугла диапазон - 66.249.xxx.xxx (если я ошибаюсь, поправьте)
и т.д.
в целом в списке боты всех популярных поисковиков и служб, которые проверенно заглядывают на форумы нашего сервиса
я попробовал отобразить на главной странице их присутствие, получилось,
но правда в таком варианте их видят только админы (может быть ещё и модеры, не проверял)
В ХТМЛ-НИЗ:
<!-- Поисковые боты (расширенный список)--> <script type="text/javascript"> $.ajax({type: 'GET',url: 'online.php', success: function(data){ $(data).find('div#pun-online td.tcl:first-child').map(function () { var OnlineIP=$(this).find('a').attr('title'); if(OnlineIP.indexOf('95.108.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yandex[bot]</a>')}; if(OnlineIP.indexOf('77.88.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yandex[bot]</a>')}; if(OnlineIP.indexOf('93.158.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yandex[bot]</a>')}; if(OnlineIP.indexOf('66.249.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Google[bot]</a>')}; if(OnlineIP.indexOf('94.100.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Mail[bot]</a>')}; if(OnlineIP.indexOf('217.69.134.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Mail[bot]</a>')}; if(OnlineIP.indexOf('217.69.136.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Mail[bot]</a>')}; if(OnlineIP.indexOf('81.19.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Rambler[bot]</a>')}; if(OnlineIP.indexOf('67.195.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yahoo![bot]</a>')}; if(OnlineIP.indexOf('72.30.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yahoo![bot]</a>')}; if(OnlineIP.indexOf('74.6.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yahoo![bot]</a>')}; if(OnlineIP.indexOf('202.160.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yahoo![bot]</a>')}; if(OnlineIP.indexOf('207.46.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Bing[bot]</a>')}; if(OnlineIP.indexOf('66.235.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Ask[bot]</a>')}; if(OnlineIP.indexOf('65.52.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Bing[bot]</a>')}; if(OnlineIP.indexOf('65.55.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Bing[bot]</a>')}; if(OnlineIP.indexOf('157.55.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Bing[bot]</a>')}; if(OnlineIP.indexOf('119.63.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Baidu[bot]</a>')}; if(OnlineIP.indexOf('220.181.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Baidu[bot]</a>')}; if(OnlineIP.indexOf('123.125.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Baidu[bot]</a>')}; if(OnlineIP.indexOf('208.115.111.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Ezooms[bot]</a>')}; if(OnlineIP.indexOf('194.67.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Aport[bot]</a>')}; $('a.bot').css({'color':'#9E8DA7','text-decoration':'none'}); }); } }); $('div#pun-online td.tcl a:contains("Гость")').map(function () { OnIP=$(this).attr('title'); if(OnIP.indexOf('95.108.') != -1) {$(this).html('Yandex[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('77.88.') != -1) {$(this).html('Yandex[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('93.158.') != -1) {$(this).html('Yandex[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('66.249.') != -1) {$(this).html('Google[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('94.100.') != -1) {$(this).html('Mail[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('217.69.134.') != -1) {$(this).html('Mail[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('217.69.136.') != -1) {$(this).html('Mail[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('81.19.') != -1) {$(this).html('Rambler[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('67.195.') != -1) {$(this).html('Yahoo![bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('72.30.') != -1) {$(this).html('Yahoo![bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('74.6.') != -1) {$(this).html('Yahoo![bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('202.160.') != -1) {$(this).html('Yahoo![bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('207.46.') != -1) {$(this).html('Bing[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('65.52.') != -1) {$(this).html('Bing[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('65.55.') != -1) {$(this).html('Bing[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('157.55.') != -1) {$(this).html('Bing[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('119.63.') != -1) {$(this).html('Baidu[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('123.125.') != -1) {$(this).html('Baidu[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('220.181.') != -1) {$(this).html('Baidu[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('66.235.') != -1) {$(this).html('Ask[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('208.115.111.') != -1) {$(this).html('Ezooms[bot]').css('color','#9E8DA7')}; if(OnIP.indexOf('194.67.') != -1) {$(this).html('Aport[bot]').css('color','#9E8DA7')};}); </script>
нажав на бота, можно посмотреть чем он занимается на форуме
спасибо Caligula за активное тестирование скрипта и за помощь в расширении списка поддерживаемых ботов!
Отредактировано Герда (19.05.13 22:19)