Na mikroskopické škále je dodatečné zatížení zanedbatelné, ale při masových úrovních scraperů se jeho součet výrazně zvyšuje a dělá scraping nákladnějším. Tento článek vychází z částečné poznámky o placeholder řešení, které má umožnit věnovat více času fingerprintingu a identifikaci headless prohlížečů (například prostřednictvím toho, jak provádějí renderování fontů), aby stránka s proof-of-work úkolem nebyla prezentována uživatelům, kteří jsou pravděpodobně legitimní. Upozorňujeme, že Anubis vyžaduje použití moderních JavaScriptových vlastností, které pluginy jako JShelter mohou deaktivovat.
Co znamená „plateny vak na zada“ v kontextu ochrany proti scraping?
Koncept „plateny vak na zada“ odkazuje na dodatečné zatížení, které je aplikováno na uživatele na straně serveru s cílem zkomplikovat a zpomalit automatizované scrapingové aktivity. Hlavním principem je využití nepřímých nákladů, které se ve velkém měřítku sčítají a zvyšují celkové provozní náklady pro tvůrce scraperů.
V praxi to může zahrnovat implementaci technik jako výpočet prověřování uživatele (proof-of-work), identifikaci headless prohlížečů a detekci neobvyklého chování skriptů. Tímto způsobem se ztíží automatizovaný sběr dat bez výrazného dopadu na legitimní uživatele, kteří procházejí webovou stránkou běžně.
Placeholder řešení pro současnou fázi zabezpečení
V současné fázi jde o dočasné řešení, které umožňuje více času na vývoj pokročilejších metod fingerprintingu a identifikace headless prohlížečů. Plán je zaměřen na to, aby složitost a náklady na scraping rostly rychleji než rychlost, kterou mohou scrapers vyřešit výzvy, a tím se snížila jejich praktická efektivita.
Prostřednictvím těchto opatření je možné redukovat množství provozu generovaného nelegitimními skripty, aniž by byl významně ovlivněn skutečný uživatelský zážitek.
Font rendering a fingerprinting jako klíčové prvky
Fingerprinting headless prohlížečů zahrnuje mimo jiné zkoumání způsobu renderování fontů, velikosti renderovaných textů, časování událostí a dalších jemných odchylek, které pomáhají identifikovat nebonafidní klienty.
V praxi to znamená, že bezpečnostní vrstvy se neustále vyvíjí a reagují na nové techniky scrapers. Implementace moderního JavaScriptu, který tyto fingerprinting mechanismy podporuje, hraje klíčovou roli ve schopnosti identifikovat podezřelé chování.
Integrace do existujícího prostředí Oakley a související výzvy
Implementace takových mechanismů vyžaduje balancování mezi bezpečností a uživatelským komfortem. Zvláštní pozornost je potřeba věnovat kompatibilitě s moderními JS funkcemi, které mohou být omezeny pluginy jako JShelter.
Dalšími důležitými aspekty jsou časování a výkon serveru, která musí zůstat přijatelné pro legitimní uživatele, zatímco pro scraping bude zátěž znatelná.
Praktické postupy a doporučení
1) Postavte systém na vícevrstvém ověřování a postupném zavádění proof-of-work výzev. 2) Soustřeďte se na fingerprinting headless prohlížečů a jejich charakteristiky. 3) Zvažte dynamickou detekci chování uživatelů a adaptivní reakce na podezřelé vzory. 4) Otestujte kompatibilitu s moderními JavaScriptovými funkcemi a pochopte omezení pluginů, které mohou tyto funkce deaktivovat.
Tyto kroky umožní vybudovat robustní ochranu proti scraping a zároveň udržet přijatelný uživatelský zážitek pro legitimní návštěvníky.
