Autor Zpráva
Ssob
Profil
Zdravím,

napsal jsem si počítadlo, které počíta přístupy na stránku. Skript vkládam na káždou stránku pomoci include. Jelikož se jedná o můj skript, tak bych se rád vyvaroval vkladání pomocí javascriptu, ovšem když ho vložím přímo do kódu stránky (php), tak se mi do statistik započítájí roboti jako normální uživatele.

Existuje nějaký spolehlivý způsob jak rozlíšit robota od lidského návštěvníka na straně php?

Díky
BetaCam
Profil
Spolehlivé není nikdy nic ale můžeš klidně kontrolovat jestli je to robot a nebo ne a pak se podle toho zařídit.
Ssob
Profil
To mám v plánu.. ale nevím JAK kontrolovat jestli to je robot.
nightfish
Profil
podle $_SERVER['HTTP_USER_AGENT']
imploder
Profil
Co když se ale bude robot vydávat třeba za FF? Je přece na něm co tam pošle.
ninja
Profil
imploder: robot se od lidskeho nastevnika lisi pouze tim, ze to o sobe rika.

Samozrejme je mozne zkouset filtrovani podle IP adresy, zpusobu prochazeni webu, jazyku, Javascriptu, flashe, atd., ale nidky to nebude dokonale, protoze v zasade je robot a clovek to same: Dotaz na urcite URI.
Ssob
Profil
nightfish
Taky jsem si říkal, že to budu rozlíšovat podle USER_AGENT, tak jsem je začal logovat.. Podle "naměřených" řetězcu se to ale podle mě nedá rozlíšit. Tady jsou USER_AGENT od robotů:
Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
msnbot/1.1 (+http://search.msn.com/msnbot.htm)
holmes/3.12.2 (http://morfeo.centrum.cz/bot)
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
libwww-perl/5.65
holmes/3.12 (OnetSzukaj/5.0; +http://szukaj.onet.pl)
...

- nenašel jsem v tom žádný společný prvek, podle kterého by se to dalo filtrovat.

ninja
v zasade je robot a clovek to same: Dotaz na urcite URI.
V podstatě si myslím totéž, ale říkal jsem si, že musí existovat nějaký způsob jak ty roboty rozlíšit..

Pokud vím, tak roboty zatím neumí interpretovat javascript?
nightfish
Profil
Ssob
nenašel jsem v tom žádný společný prvek, podle kterého by se to dalo filtrovat
určitě neexistuje žádný způsob, jak 100% identifikovat robota podle USER_AGENT řetězce - nicméně když budeš hledat "slurp", "bot", "holmes", tak jich naprostou většinu pochytáš
karbon
Profil *
Ssob
Pokud vím, tak roboty zatím neumí interpretovat javascript?
Podle mě ani nikdy nebudou, protože by to znamenalo velké zpomalení indexování stránek. Technicky je to ale určitě proveditelné.
Ssob
Profil
Takže už jsem to (zdá se spolehlivě) vyřešil:
Z mých "výzkumů" jsem vysledoval, že robot vždy navštíví pouze jednu stránku a odejde (nebo spíše nemá povolené cookies). Tak jsem si jednoduše v tabulce přístupu vytvořil nový sloupec 'platne', v kterém je pří návštěvě první stránky 0 a když návštěvník přejde na jinou stránku, tak se to změní na 1. Takto mám v tabulce i roboty, ale můžu je jednoduše filtrovat. Sice nebudu evidovat návštěvníky, kteří se podívají na můj web a hned odejdou.. ale o takové nestojím. :D
Amunak
Profil
Takže už jsem to (zdá se spolehlivě) vyřešil...

to je chytré :)
smajli
Profil
Ssob
Jednou jsem napsal na svých stránkách článek, jehož adresu někdo zveřejnil na hodně navštěvovaném foru. V ten den a několika následujících jsem měl o 800% vyšší návštěvnost právě jen na jedné stránce. Určitě návštěva jedné stránky není zanedbatelná.
Týká se to i návštěv z vyhledávačů, kde člověk hledá konkrétní stránku.
Ssob
Profil
smajli
Na webu, který právě dělám nejsou informace, které by někdo hledal ve vyhledávači a prostě každý, který se na tu stránku podíva klikne na nějaký odkaz. Nicméně máš pravdu, na jiných webech by to bylo nepoužitelné. Do budoucna budu muset vymyslet nějaký lepší způsob.
DoubleThink
Profil *
Podle mě ani nikdy nebudou, protože by to znamenalo velké zpomalení indexování stránek
Technická náročnost není trvalý problém.

Důvod, proč nebudou indexovací roboti nikdy používat js, je stejný jako důvod, proč teď ignorují formulářové prvky.
V opačném případě by totiž neměli jistotu, že svou "návštěvou" nezahájí nějaké vnitřní akce.
smajli
Profil
Ssob
Ještě záleží na tom, pro koho posbírané informace budou. Pokud jen pro tebe, tak bych to řešil sběrem všech návštěv a pak mimo bych si to mimo web profiltroval podle toho jak se roboti hlásí.
ninja
Profil
Na webu, který právě dělám nejsou informace, které by někdo hledal ve vyhledávači a prostě každý, který se na tu stránku podíva klikne na nějaký odkaz. Nicméně máš pravdu, na jiných webech by to bylo nepoužitelné. Do budoucna budu muset vymyslet nějaký lepší způsob.

To je velmi vtipne. A vsichni chodi pres vasi uvodni stranku, ze? Boze boze...
Ssob
Profil
ninja
To je velmi vtipne. A vsichni chodi pres vasi uvodni stranku, ze? Boze boze...
To jsem nějak nepochopil.. kde jsem psal něco o úvodní stránce? Nejdřív si přečti celou diskuzi a pak reaguj..

smajli
Informace budou pro mne a pro další administratory stránek. Všem návštěvníkům se zobrazi pouze počet přístupů (takže záleží na tom jestli budu umět filtrovat roboty).


Jak tak nad tím (už tři dny) přemýšlím, tak asi použiju javascript.. :)
ich
Profil *
dobrá databáze robotů je na:

http://www.i-asap.net/crawlersdb.php
srigi
Profil
Urcite ich filtruj podla UA. to ze robot nechodi po webe nie je spolahlive riesenie. Co citam SEO clanky, tak webmastry sa snazia aby roboty prechadzali kompletne stromy danej stranky.

IMHO staci napisat jeden regular na vyraz 'bot' a chytis ich 90%.

Ak sa robot vydava za FF, tak by som to bral ako regularnu navstevu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0