Autor Zpráva
š
Profil *
Jde v php nějak poznat jestli uživatel který volá stránku je uživatel nebo vyhledávací bot? (google etc.) Nemusí to být ani nějak neprůstřelné se 100% spolehlivostí, stačí mi jen aby to poznalo ty větší jako google yahoo a podobně...
díky
SpotRudloff
Profil
Každý z těch botů má svou IP, stačí pohledat na Googlu. ;)
Chro
Profil
$roboti_ip = array("Google" => "ip", "Seznam" => "ip", "Yahoo" => "ip");
$navsteva_ip = $_SERVER["REMOTE_ADDR"];
foreach ($roboti_ip as $majitel => $ip) {
if ($ip == $navsteva_ip) {
echo "Jsem robot společnosti ".$majitel.".";
break;
} }
AM_
Profil
Standardně se používá captcha (obrázek s nějak pokřiveným textem, který má člověk opsat, případně audio), hotové a kvalitní řešení je např. recaptcha. Uživateli se dá zjednodušit život např. tak, že pokud má JavaScript, jeho lidskost se potvrdí automaticky (většina botů JS neumí), a pokud ne, tak musí např. opsat captchu nebo vyřešit jednoduchý příklad (2+2).
fopen
Profil *
Tiež $_SERVER['HTTP_USER_AGENT'] obsahuje zaujimave informacie...
Priklady:
*ia_archiver (+http://www.alexa.com/site/help/webmasters; crawler@alexa.com)
*Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
*Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)
*SeznamBot/2.0 (+http://fulltext.sblog.cz/robot/)
*msnbot/2.0b (+http://search.msn.com/msnbot.htm)
*Mozilla/5.0 (compatible; DotBot/1.1; http://www.dotnetdotcom.org/, crawler@dotnetdotcom.org)

Z uvedeneho vypliva že HTTP_USER_AGENT co sa botov tyka večšinou obsahuje aj url domovskej stranky.
Bubák
Profil
UA string seznamáckého screenshotátoru:
Mozilla/5.0 (compatible; Seznam screenshot-generator 2.0; +http://fulltext.sblog.cz/screenshot/)

http://fulltext.sblog.cz/2009/02/04/27
UA je stále stejný, IP jsem neověřoval.

Dodatek: koukám, že ve výše uvedeném seznamu není český vyhledávač JYXO.
š
Profil *
A ti boti teda vždycky používají stejnou ip? (teda nemyslim všichni dohromady, ale každý z nich jestli má jednu neměnící se)
AM_
Profil
š:
A ti boti teda vždycky používají stejnou ip?
většinou ano, ale to ti nikdo nezaručí. Lepší je ověřovat podle UA stringu nebo jeho části.
koumal
Profil *
Právě jsem si kladl stejnou otázku, ale mě by zajímalo, jak moc takový bot vytěžuje stránky když přijde. Víte někdo kolik přístupů udělá za vteřinu?
š
Profil *
Moc ne, co sem koukal na ip googlu v záznamu tak prolezl přibližně deset stránek a šel pryč
bohyn
Profil
koumal:
To je dost relativní. Záleží na tom jak moc se mu tvoje stránky líbí a jak často se mění. Koukal sem na to do statistik a za duben na jednom webu přes 28500 hitů, 700 návštěv (podle hitů na robots.txt) a cca 1GB dat. Web má zhruba 3500 stránek a 270MB. Zdá se že ruský Yandex trpí hyperaktivitou - má na svědomí 1/2 všech hitů i dat.

š:
Ne, robot není jeden stroj, ale celá farma (alespoň u významných vyhledávačů) s několika IP. Jejich IP jsou obvykle veřejně dostupné. Nejlépe asi robota poznáš podle hitu na robots.txt podstrčením scriptu a zalogováním jeho IP. Pokud roboti podporují sušenky (Google a Yahoo zvládají přihlášení tak by je měli umět) tak ani neni třeba nějaká databáze. Ví někdo jak jsou na tom ostatní roboti s cookies?
koumal
Profil *
bohyn:
Podstrčení scriptu - nejsem si jist, zda jsem tě správně pochopil. Myslíš jako podstrčit stránku s javascriptem, který bot neumí? To máš vysoké číslo přístupů. Nicméně, mě by spíše zajímalo vytížení v tom momentě, kdy tam robot přijde. Ale nevím, jestli se to vůbec dá zjistit, když jde z různých IP. Nevím jak to chodí. Možná v jednom čase přijde jen z jedné IP? Nebo v jednom čase jich přijde z několika různých IP? Mě by zajímal log, ze kterého by se dalo vyčíst, kolik přístupů udělá za vteřinu. Určitě by měl mít nějakou hranici, aby příliš nevytížil server, pokud ho nechce shodit.
Joker
Profil
koumal:
mě by zajímalo, jak moc takový bot vytěžuje stránky když přijde
Podle mě to je dost různé. Co jsem zkoumal to vypadá, že někdy si robot přečte jen několik stránek a jindy více (asi aktualizuje jen odkazy které nějakou dobu neaktualizoval a ta doba závisí na tom jak často se stránky mění).

Podstrčení scriptu - nejsem si jist, zda jsem tě správně pochopil. Myslíš jako podstrčit stránku s javascriptem, který bot neumí?
Ne, proč tohle dělat? bohyn asi myslel požadavek na robots.txt přesměrovat (přes .htaccess například) na skript, který zaloguje, že z té a té adresy přišel vyhledávací robot a pak mu pošle robots.txt.
koumal
Profil *
Joker:
Bohyn psal:

bohyn:
Nejlépe asi robota poznáš podle hitu na robots.txt
To jsem přehlédl. Mě to nebylo jasné jak to pozná. Chápu to správně? Vytvořit pravidlo, že pokud se pokusí zpřístupnit robots.txt, tak ho přesměruješ na stránku, kterou potřebuješ? No to by bylo geniální. Nicméně, pokud to bude útočný bot, tak ti ten robots.txt obejde... Takže hodí se to jen na ty vyhledávací boty.
bohyn
Profil
koumal:
Nicméně, pokud to bude útočný bot, tak ti ten robots.txt obejde...
"Hodní" boti si stahují robots.txt při každé návštěvě, "zlí" boti na to dlabou a klidně se ti identifikují jako běžný prohlížeč nebo vůbec, s tím ale nic nenaděláš.

Možná v jednom čase přijde jen z jedné IP? Nebo v jednom čase jich přijde z několika různých IP?
Myslim že je to jedno IP na jednu návštěvu. Snáze se to implementuje a lépe se kontroluje zátěž na indexovaný web. Nemám to ale nijak potvrzené z logů.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0