być może wielu cieszy, gdy licznik pokazuje setki i tysiące odwiedzin dziennie, lecz są to wartości nieprawdziwe. spora część pochodzi od botów i jako taka fałszuje statystykę odwiedzin. jeśli chcesz mieć przwdziwe wartości i spokojne sumienie zmodyfikuj sobie plugin simpleCounter. na np. taki:
tylko te, które mają w nazwie 'bot' lub 'slurp'. możesz dodać jeszcze 'crawler' i poszukać w sieci o nazwach innych botów. nazwa jest w $_SERVER['HTTP_USER_AGENT'] a dodawać możesz w następujący sposób: linijkę:
i jeszcze dwa pytania, czy w user online będzie pokazywać prawdziwe odwiedziny? czy trzeba to jakoś też zmodyfikować? i czy jest już w tym kodzie te zabezpieczenie przed zerowaniem licznika? kiedyś gdzieś na forum podawałeś.
coś jest nie tak, resetuje mi się za każdym razem jak ktoś nowy wchodzi na stronę, a to moja funkcja function simpleCounter(){ if(is_file(DB_COUNTER)){ $aFile=file(DB_COUNTER); $sUserAgent=$_SERVER['HTTP_USER_AGENT']; if(isset($aFile[1])&&!empty($aFile[1])){ $aExp=explode('$',$aFile[1]); $sDate=date('Y-m-d'); $aVisits[0]=$aExp[0]; $aVisits[1]=(!empty($aExp[2])&&$aExp[2]==$sDate)?$aExp[1]:0; } if(!isset($_COOKIE['osSimpleCounter'])){ $sSave='<?php exit;?>'."\n"; if(isset($aVisits)&&stristr($sUserAgent,'bot')===false&&stristr($sUserAgent,'slurp')===fal se ){ $aVisits[0]++; $aVisits[1]++; } else $aVisits=Array(1,1); @file_put_contents(DB_COUNTER,$sSave.$aVisits[0].'$'.$aVisits[1].'$'.date('Y-m-d').'$'."\ n",LOCK_EX); setcookie('osSimpleCounter',true,time()+7200); } if(isset($aVisits)) return $aVisits; else return Array(1,1); } }// end function simpleCounter
prosiłem tu już kilkakrotnie, aby powiększono okienko, w które wpisuje się tekst (Content). bo czasem wychodzą takie błędy, że rozwala wyrazy na dwie części. ta linijka: if(isset($aVisits)&&stristr($sUserAgent,'bot')===false&&stristr($sUserAgent,'slurp')===fal se){ nie może funkcjonować, jeśli jest 'fal se' zamiast 'false'.
ok, wyżej podałem kod online counter, i nie wiem gdzie go trzeba zmodyfikować żeby wykluczyć boty, Boboo byś mógł wrzucić niżej przerobiony kod useronline.
else $aVisits=Array(1,1); czyli mam to usunąć ze swojego kodu? wcześniej to u mnie było i licznik się nie resetował, a wiec pomyślałem że musi to zostać, a z tym online napiszesz jak to zrobić?
boboo przydał by się jeszcze do kompletu liczników plugin - page rank strony pokazujący wynik. Jak potrafiłbyś coś takiego zmontować to wrzuć na forum ;)