Autor Zpráva
lionel messi
Profil
Všetkým, ktorých srdcia bijú (nielen) pre online želám pekný posledný deň starého roka,

narazil som na situáciu, keď by som pri vykonaní istej akcie rád čo najskôr a čo najspoľahlivejšie odfiltroval roboty. Chcel by som pomocou nafingovaného obrázka v JS pingnúť PHP skript, ale nedovoliť to robotom.

V tejto súvislosti by som mal 2 otázky:

1. Odfiltruje roboty už skutočnosť, že pingnutie prebieha prostredníctvom JavaScriptu? Kedysi sa uvádzalo, že roboty JS neinterpretujú vôbec, dnes je však situácia predsa len pestrejšia.

2. Pomôže zakázať robotom prístup do zložky, kde sa PHP skript nachádza pomocou súboru robots.txt (povedzme, že by v zložke bol iba tento súbor a pristupovalo by sa k nemu vždy len prostredníctvom JS pingu (mimochodom, nejde o vzdialeného príbuzného tučniaka Pingu?))?

Vopred ďakujem za každú odpoveď.
mckay
Profil
lionel messi:
Odfiltruje roboty už skutočnosť, že pingnutie prebieha prostredníctvom JavaScriptu? Kedysi sa uvádzalo, že roboty JS neinterpretujú vôbec, dnes je však situácia predsa len pestrejšia.
Některé ano, některé ne. Záleží také na tom, co si představíme pod pojmem "robot". Google umí dnes již i celkem spolehlivě indexovat obsah stránek, který je dotažen přes JS. Z toho bych usuzoval, že minimálně Googlebot tedy nějakou podporu pro JS mít bude, a tedy by JS pingnutí spustit mohl.

Pomôže zakázať robotom prístup do zložky, kde sa PHP skript nachádza pomocou súboru robots.txt (povedzme, že by v zložke bol iba tento súbor a pristupovalo by sa k nemu vždy len prostredníctvom JS pingu
Googlebot se zákazem z robots.txt řídit bude, stejně jako mnoho dalších robotů a botů, které se na Internetu mohou vyskytovat.

To jsou ovšem ale pouze roboti/boti napsaní zodpovědnými entitami. Jiní, často i amatérsky napsaní spamboti/crawlery/scrapery můžou robots.txt kompletně ignorovat a JS budou umět používat taky. Věci tohoto typu můžou být napsané třeba s využitím selenia, nebo prohlížeče v headless režimu.

Sečteno a podtrženo, použití JS pro odfiltrování robotů už není dnes spolehlivé řešení.
N71
Profil *
Ad 1) Docela jo. Pokud neprovozuješ nějakou známou službu, tak zůstane endpoint, který voláš javascriptem, asi zcela bez povšimnutí.

Ad 2) Ne, robots.txt čtou nejsou indexovací roboti.
lionel messi
Profil
Ďakujem za odpovede. Asi by bolo pre úplnosť vhodné doplniť (a mal som to napísať už v [#1]), že samotné pingnutie sa bude spúšťať na udalosť onload podľa setTimeout.

Najvhodnejšie zrejme bude si čosi podobné vyskúšať, ak bude mať môj experiment nejaké hmatateľné čitateľné výsledky, ozvem sa.
lionel messi
Profil
lionel messi:

Napokon som zistil, že namiesto JS pingu na pseudoobrázok potrebujem AJAX (z iných dôvodov než odfiltrovanie robotov), takže výsledky experimentu sa týkajú AJAXu.

Počas zhruba 8 dní sa týmto AJAXom prehrýzol výlučne jeden robot, ktorý má podľa všetkého akúsi spojitosť s Facebookom (teoreticky je možné, že stadiaľ chodia dvaja - jedna IP adresa je americká, druhá írska a obe vykazujú spojitosť s Facebookom).

Čiže o 100% odfiltrovanie nejde, ale napr. Googlebot neprejde.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0