Szeretném valamennyire detektálni, hogy melyik oldalletöltések bot-ok által generáltak és melyikek emberek által generáltak.
Van ugyan listám, hogy melyikek bot-ok: pl. Googlebot stb. User-Agent header alapján. Viszont van amikor valaki Googlebot-nak hazudja magát. Vag yolyan is szokott lenni, hogy egy bot normál böngészőnek hazudja magát.
Van valami ötletetek arra, hogyan lehetne detektálni mondjuk a botok többségét valami más módszerrel?
- 757 megtekintés
Hozzászólások
Szerintem még az IP tartományokkal lehet operálni, meg valamilyen ip-to-country listához hasonlítani. Nálunk a detektálás, főleg tiltás alapját (az eszetlen crawler, jajj csak átnézzük idióta botokat) a User-Agent adja. Ez nagyjából jól megy, komolyan érezhető terhelést sikerült megfogni és a fogyasztás miatt még pénztárca barát is.
- A hozzászóláshoz be kell jelentkezni
Köszönöm. Igen. Én sem szeretnék 100%-os megoldást. Elég ha a többségét megfogom.
Tudsz adni egy ilyen listát?
- A hozzászóláshoz be kell jelentkezni
" Viszont van amikor valaki Googlebot-nak hazudja magát. "
Googlebot verify: https://developers.google.com/search/docs/advanced/crawling/verifying-g…
“Any book worth banning is a book worth reading.”
- A hozzászóláshoz be kell jelentkezni
Köszönöm. Ez jó egy részére a botoknak. Ez alapján keresgélek még.
Viszont amit ír az alapján már most sem stimmel minden. Azt javasolja, hogy pl. ha google.com a domain, akkor nincs gond. Viszont jöttek valami ilyesmi címekről is: xy.users.google.com :-)
- A hozzászóláshoz be kell jelentkezni
Ha jól nézem, a példát alatta, akkor bármilyen `*.google(bot)?.com` domain az övék.
- A hozzászóláshoz be kell jelentkezni
Van pl. olyan is, amikor bot User-Agent-el bekérdeznek, majd egy valósnak tűnő böngészővel bekérnek megint. Bár ha alaposabban megnézem a User-Agent-et sejthető, hogy ez is valami bot féle. Pl.: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.0.12195 Safari"
Ezeket is jó lenne valahogy bot-nak minősíteni.
- A hozzászóláshoz be kell jelentkezni
Érdemes itt is szétnézni bot detektálás ügyben:
- A hozzászóláshoz be kell jelentkezni
1) keress git repo-t, hátha vki már listázza a user agenteket v. IP range-eket
2) nyiss te egy git repo-t, hogy listázd a user agenteket, IP range-eket
- A hozzászóláshoz be kell jelentkezni
Nem tudom mire kell, de ha tiltani akarsz rosszindulatú botokat, és tisztán tartani a logokat, akkor én az alábbit csinálom.
A logok alapján kigyűjtöttem olyan lekéréseket amik gyakoriak, de tudom hogy nincs olyan url egyáltalán és egyik oldalon sem amiket hosztolok.
Pl.: /wp-login, /admin.php, /phpmyadmin, /dump.sql stb.
Csináltam ezekre egy fail2ban filtert és ha 1 ilyen lekérés is érkezik bannolja is az IP-t.
Persze ezzel a jóindulatú botokat nem fogod kiszűrni, mert ők valós url-eket kérnek le.
- A hozzászóláshoz be kell jelentkezni
Több szempont is van, de a legfontosabb, hogy ez egy szótár oldal. Itt a nem talált szavakat pótoljuk toplisták alapján. Viszont eljutottunk odáig, hogy a toplista tetején bot-ok által keresett szavak / kifejezések vannak.
Most átnézve a logokat és visszakeresgélve az ip címek alapján domaineket stb., kb. 50-ből 1 a valódi emberi keresés.
A lényeg azokat a szavakat szeretném pótolni, amik valóban fontosak az emberekenek és nem a bot-oknak.
- A hozzászóláshoz be kell jelentkezni
Egy egészen jó cikk a különböző stratégiákról:
- A hozzászóláshoz be kell jelentkezni
Ha az "apache bad bots" kifejezésre rákeresel, sok listát találsz konkrét configgal.
Van IP lista és User-Agent alapú. Én az utóbbit használom, elég hatékony.
- A hozzászóláshoz be kell jelentkezni
Alapvetően azzal tudsz botot detektálni, ha olyan dolgot futtatsz, ami böngészőben tud futni és erőforrás igényes, tele van a Github ilyen Javascript cuccokkal, különféle minőségben persze, meg kell nézni, hogy neked mi a célod és ahhoz mi a legjobb.
- A hozzászóláshoz be kell jelentkezni
Felhasználóként messziről kerülöm az olyan oldalakat, amik értelmetlenül terhelik a rendszeremet, akár a készítő lustasága, akár a DRM/bot-detektálás/scrapelés akadályozása/aktuális zöldség ürügyén.
A lentebb említett Google recaptcha ennél sokkal jobb megoldás.
Psszt, elárulom az IP-címemet: 192.168.0.14
- A hozzászóláshoz be kell jelentkezni
Felhasználóként messziről kerülöm az olyan oldalakat, amik értelmetlenül terhelik a rendszeremet, akár a készítő lustasága, akár a DRM/bot-detektálás/scrapelés akadályozása/aktuális zöldség ürügyén.
Szíved joga kerülni.
A lentebb említett Google recaptcha ennél sokkal jobb megoldás.
Viszont eléggé szépen átengedi a botokat.
- A hozzászóláshoz be kell jelentkezni
google recaptcha?
főleg, ha szótárhoz kell
4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.
- A hozzászóláshoz be kell jelentkezni
oké, az biztos megfogja a botokat, de a userek is sikítófrászt kapnak tőle
"antiegalitarian, antiliberal, antidemocratic, and antipopular"
- A hozzászóláshoz be kell jelentkezni
elsőnek tényleg fel kell ismerni a jelzőlámpákat, de utána semmit se kér. még a pipát se, hogy nem vagy robot
4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.
- A hozzászóláshoz be kell jelentkezni
Én ezt használom, ezzel vagyok a legelégedettebb.
1-2 havonta készítek TOP listát és én is megpiszkálom őket, de sajnos nem díjazza az internetszolgáltatóm:)
"ha valakire rá kiabálunk, hogy rendszergazda akkor az is - szerződés, fizetés csak az átkos időkben kellett"
és 100 éve még boszorkányt is égettek
- A hozzászóláshoz be kell jelentkezni
Egy ecommerce sitenál hónapok óta szívok a botokkal, mert a kriptósok nonstop "szívatják" a keresőt, terméklistázót (állandóan 1030-as kártyákat akarnak venni, emiatt minden másodpercben keresnek rá, listázzák, stb).
Sok, mások által fentebb leírt dolgon kívül, én most ilyennekkel próbálkozom a botok, scraperek ellen:
- adott oldalra 1-1 XHR hívást betenni, és ha adott IP-ről nem hívja meg a browser/bot/bármi, akkor a látogató tuti nem user (vagy user, de esetleg adblockal)
- elasticsearch-ben gyűjtöm a logokat, és percenkénti aggregálásnál ha 120 percen belül több mint 100 olyan perc van ahol volt lekérés, akkor a látogató az scraper (nyilván lehet játszani a megfelelő arányokkal)
- ha 1-1 IPről csak dinamikus tartalmat kérnek le (php pl), de statikusat nem (képek, css), akkor szintén scaper
Nyilván vannak false pozitív találatok is, de ilyenkor finomítok a szabályokon.
Ami eddig nem vált be:
- nyilváson adatbázisok - ritkán frissülnek
- cloudflare 'know bots' - ez kb google és bing botok kívül semmire nem való már
- re-chacpa - nem userbarát
Ugyanakkor másik oldalról nézve egy jól megírt selenium scriptet baromi nehéz kiszűrni :)
- A hozzászóláshoz be kell jelentkezni
Általában úgy szoktam kivédeni az ilyen kereső piszkálókat, hogy ahova a post megy, megnézem, hogy referer szerint a weboldalról jött-e? Ha nem, akkor direktben postol ezerrel, tehát 403-t adok neki.
Aztán lehet figyelni a forrás IP-t, ami ha 5 másodpercen belül keres, szintén 403-t kap.
- A hozzászóláshoz be kell jelentkezni
Hibás route esetén ha a kért url tartalmazza a szokásos wp- .env .sql dump backup dev test v2 töredékeket, akkor 404 die(), még a szokásos hibaoldal render előtt és így logokba se kerül. Bosszantó, de legalább erőforrás nem sok megy rá.
Minden route csak a tényleg szükséges methodokat engedi. Fontosabb lapok engedik a HEAD methodot, botok egy részének az is elég.
- A hozzászóláshoz be kell jelentkezni