Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Licznik odpwiedzin, a roboty google'a
Forum PHP.pl > Forum > PHP
Bart123
Witam. Mam mały problem. Pewnie zaraz ktoś będzie w stanie go rozwiązać. Dlatego piszę o tym do Was.

Zbudowałem licznik odwiedzin - oparty na bazie MySQL. PHP sprawdza IP użytkownika, po czym zagląda do bazy szukając tego IP. Jeżeli go nie ma, dodaje i podlicza istniejące rekordy w tabeli. Jeżeli jest, usuwa dane IP z tabeli i dodaje je ponownie. Przez co nie liczy tego samego użytkownika dwa razy.

Problem pojawia się wtedy, kiedy z naliczanych odwiedzin, chcemy wykluczyć np. roboty googla. Da się to w ogóle zrobić? Te roboty mają za każdym razem inne IP dlatego licznik zaczyna mieć jakieś dziwnie wysokie wartości.
daniel1302
Superglobalna zmienna $_SERVER['USER_AGENT'] przechowuje dane o użytkowniku. Więcej tutaj: http://pl.wikipedia.org/wiki/User_agent
daniel1302
Nie, IP zapisuj jak zapisujesz, z tym że BOTy googla jak i innych wyszukiwarek posiadają unikalny USER AGENT, więc porównuj go za pomocą wyrażeń regularnych i jesli to nie jest bot to sprawdzaj również IP.


Cytat
dentyfikatory UAString popularnych robotów internetowych:

Googlebot/2.1 (+http://www.googlebot.com/bot.html) – Googlebot, robot wyszukiwarki Google
Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) – Slurp, robot Yahoo
W3C_Validator/1.305.2.148 libwww-perl/5.803, Jigsaw/2.2.3 W3C_CSS_Validator_JFouffa/2.0 – walidatory W3C
Mediapartners-Google/2.1 (+http://www.googlebot.com/bot.html) – robot badający treść strony celem wstawienia odpowiedniego banera reklamowego np. w okno przeglądarki Opera
JavaX.X.X – domyślny UAString aplikacji napisanych w Javie wysyłających żądania HTTP (X.X.X to wersja JRE, w jakiej uruchamiana jest aplikacja)
Bart123
No i jasne. Dzięki bardzo Daniel.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.