скрипт на РНР для анализа лог-файлов на роботов яндекса

P
На сайте с 16.12.2004
Offline
16
744

Надоело глаза напрягать, сделал на быструю руку такой скриптик. Может пригодится для тех , у кого нет спец програм.

Делает выборку с логов на предмет наличия заходов роботов яндекса, окрашивает в разные цвета, в зависимости от разновидности.

Также ищет гуглабота и рамблера.

Доработки очень приветствуются.

В РНР я не очень, просьба сильно не критиковать.

<!-- НАЧАЛО СКРИПТА . файл со скриптом надо назвать 1.php -->

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<style type="text/css">

<!--

.d1 {

background: #9BEBFF;

}

.d2 {

background: #FFFFCC;

}

.d3 {

background: #99FF99;

}

.d1 {

background: #9BEBFF;

}

.d4 {

background: #999900;

}

.d5 {

background: #FF9900;

}

.d6 {

background: #FFC166;

color: #3535FF;

}

.d7 {

background: #FFFFFF;

}

-->

</style>

<style type="text/css">

<!--

table {

font: normal 10px Verdana, Arial, Helvetica, sans-serif;

border: medium solid #000066;

color: #000066;

}

-->

</style>

<style type="text/css">

<!--

textarea {

font: 100 10px Verdana, Arial, Helvetica, sans-serif;

color: #FF9900;

background: #000000;

border: thin dotted #FF9900;

}

input {

font: 100 10px Verdana, Arial, Helvetica, sans-serif;

color: #FF9900;

background: #000000;

border: thin dotted #FF9900;

}

body {

font: bold 10px Verdana, Arial, Helvetica, sans-serif;

color: #000066;

background: #FF9900;

}

-->

</style>

<title>ЯНДЕКС - АНАЛИЗАТОР</title><form name="form1" enctype="multipart/form-data" method="post" action="1.php">

<p align="center">ВЫБЕРИТЕ ЛОГ-ФАЙЛ И ПРОВЕДИТЕ КУРСОРОМ ПО КНОПКЕ &quot;Browse&quot;

, ПОСЛЕ ЧЕГО ПОЯВИТСЯ В ЛЕВОМ ПОЛЕ ПУТЬ К ЛОГ-ФАЙЛУ. НАЖМИТЕ &quot;SUBMIT&quot;.</p>

<p>

<textarea name="stranica" cols="100" rows="1" id="stranica"><?php echo @$stranica ;?></textarea>

<input name="stranica1" type="file" onMouseMove="processUrl(this)" onKeyUp=processUrl(this) size="1" >

<input type="submit" name="Submit" value="Submit">

</p>

<p >поиск роботов яндекса

<input name="user" type="radio" value="213.180" checked>

<br>

поиск гуглабота

<input type="radio" name="user" value="66.249">

<br>

поиск робота рамблера

<input type="radio" name="user" value="81.19.66.">

<br>

<script language=Javascript>

function processUrl(element){

document.getElementById('stranica').innerHTML = element.value.substring(0,element.value.indexOf('/')==-1? element.value.length:element.value.indexOf('/')).toLowerCase();

document.getElementById('stranica').innerHTML = element.value.substring(0,element.value.indexOf('/')==-1? element.value.length:element.value.indexOf('?')).toLowerCase();

}

</script>

<br>

</p>

</form>

<table width="100%">

<tr>

<td height="14" class="d1">1.I - ИНДЕКСАТОР</td>

<td class="d2">2.D - ДОБАВЛЕНИЕ</td>

<td class="d3">3.M - ПОДСВЕТКА</td>

<td class="d4">4.H - ЗЕРКАЛЬНИК</td>

<td class="d5">5.James Bond - шпион:)</td>

<td class="d6">6. sb.yand... - х.. его зн..</td>

</tr>

</table>

<table width="100%">

<?php

if(@$stranica== false ){exit;} ;

function ozn($bloch, $text1=NULL, $text2=NULL, $text3=NULL, $text4=NULL, $text5=NULL, $text6=NULL) {

$pos = strpos($bloch, $text1);

if ($pos == true) {$ll='class="d1"'; } else { $pos = strpos($bloch, $text2);

if ($pos == true) {$ll='class="d2"'; } else { $pos = strpos($bloch, $text3);

if ($pos == true) {$ll='class="d3"'; } else { $pos = strpos($bloch, $text4);

if ($pos == true) {$ll='class="d4"'; } else { $pos = strpos($bloch, $text5);

if ($pos == true) {$ll='class="d5"'; } else { $pos = strpos($bloch, $text6);

if ($pos == true) {$ll='class="d6"'; } else {$ll='class="d7"'; }; };};};};};

echo "<tr> <td $ll >";

}

function naiti($blok_teksta , $fraza_poiska_n ,$fraza_poiska_k, $pozicia_nachala=NULL , $pozicia_konca=NULL , $popravka_konca=NULL , $resultat=NULL , $esli_nenashel=NULL){

for ($pozicia_nachala = 0; $pozicia_nachala <= 10000000; $pozicia_nachala++ ) {

$pozicia_nachala = strpos($blok_teksta, $fraza_poiska_n, $pozicia_nachala); //ЮЯаХФХЫпХв ЭРзРЫЮ

if ($pozicia_nachala === false) { $esli_nenashel; exit ;} ;

$pozicia_konca=strpos($blok_teksta, $fraza_poiska_k, $pozicia_nachala);//ЮЯаХФХЫпХв ЪЮЭХж

$dlina=$pozicia_konca-$pozicia_nachala+$popravka_konca;

$blochok = substr($blok_teksta, $pozicia_nachala, $dlina) ;

ozn($blochok, 'Win16; I' ,'Win16; D' ,'Win16; M' ,'Win16; H' ,'Bond' , 'sb.yandex.ru' );

echo urldecode(urldecode("$blochok ")); echo"</td></tr>";

;}}

$s=urldecode(urldecode("$stranica"));

$a=fread(fopen("$s", "r"), 20000000);

$kon='';

naiti($a, $user ,')"', "0" , "0",2,0,0,0);

echo'</table>';

?>

</p>

<!-- КОНЕЦ СКРИПТА -->

P
На сайте с 14.09.2004
Offline
91
#1

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

Технология высокого Пхица / High Pkhits Technology
P
На сайте с 16.12.2004
Offline
16
#2

Да , с вами полностью согласен.

Жду вашего.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий