Zpět na domů

Detekce fraudu v leadových formulářích: metody a kód

Článek popisuje evoluci metod detekce fraudu v leadových formulářích: od dynamických formulářů po 'měkký' filtr se třemi scénáři zpracování. Uvádí se kód middleware a doporučení k integraci ML pro middle/senior vývojáře.

Jak zastavit zakázkový spam v leadových formulářích bez CAPTCHA
Advertisement 728x90

Detekce fraudu v leadových formulářích: od blokování ke inteligentnímu filtru

Leadové formuláře jsou předmětem mnohovrstevných útoků – od jednoduchých botů až po objednané žádosti vyplněné skutečnými lidmi. Původně roboty parsovaly statické stránky a automaticky vyplňovaly pole. Přechod na dynamickou generaci formulářů v Vue.js dočasně zpomalil tok, protože prvky byly skryté před parsováním.

Spammersi se přizpůsobili, analyzovali API koncové body a podvrhli hlavičky: User-Agent, rozlišení obrazovky, cookies. Klasické CAPTCHA ztratily efektivitu – boty generovaly data v reálném čase.

Zavedení JWT tokenů propojených s uživatelskou relací ve spojení se serverovou verifikací znovu získalo kontrolu. Nicméně v konkurenčních oblastech (např. nemovitosti) se objevily služby pro objednané vyplnění: za pevnou cenu člověk projde kvízem a odesílá formulář, což zkresluje konverzní metriky.

Google AdInline article slot

Analýza chování pro primární filtrování

Časové značky na jednotlivých krocích kvízu umožňují odhalit automatizované průchody. Pokud čas na odpovědi je nižší než prahová hodnota (např. <2 sekundy na otázku), je žádost označena jako podezřelá.

Monitorování digitálního stopy zahrnuje:

  • Kontrolu IP adres na náhlé nárůsty z datových center.
  • Analýzu cookie a fingerprintingu (canvas, WebGL, písma).
  • Detekci opakujících se kontaktů v databázi (prahová hodnota >3 za relaci).

Tyto opatření odstraní 80–90 % automatizovaného spamu, ale objednané útoky jejich prostřednictvím čištění stop a ručního průchodu obcházejí.

Google AdInline article slot

Nová paradigma: řízení místo blokování

Přísné blokování vyvolává adaptaci: spammersi mění proxy, čistí localStorage. Přechod k 'měkkému' filtru změnil pravidla hry.

Žádost je vždy úspěšně potvrzena, ale směrována podle scénářů:

  • Úplné ignorování: Data nejsou uložena ani v CRM, ani v notifikacích – žádost 'zmizí'.
  • Černá značka: Záznam v izolované databázi pro analýzu, bez předávání do pracovních integrací.
  • Průzračná konverze: Předání do CRM s flagem 'spam', ale bez událostí v analýze (GA4, Yandex Metrika).

Tento přístup demotivuje prováděče: absence odmítnutí maskuje neúčinnost, snižuje ROI objednaných útoků.

Google AdInline article slot

Technická realizace filtru

Serverový middleware na Node.js/Express ověřuje vektor příznaků:

const fraudScore = calculateFraudScore(req.body, req.headers, sessionData);

if (fraudScore > 0.8) {
  routeToBlackhole(req.body); // Scénář 1
} else if (fraudScore > 0.5) {
  markAsSpamAndLog(req.body); // Scénář 2
} else if (fraudScore > 0.3) {
  sendToCrmWithFlag(req.body); // Scénář 3, bez analytics
} else {
  processNormally(req.body);
}

function calculateFraudScore(data, headers, session) {
  let score = 0;
  score += data.quizTime < 30 ? 0.4 : 0; // Čas kvízu
  score += isProxyIP(headers['x-forwarded-for']) ? 0.3 : 0;
  score += session.repeatContacts > 2 ? 0.2 : 0;
  return score;
}

Fingerprinting prostřednictvím klientového skriptu shromažďuje entropy: paměť zařízení, posun časové zóny, audio kontext. Server agreguje data v Redis pro real-time detekci shluků.

Škálování a monitorování

Pro systémy s vysokou zátěží integrujte ML modely (XGBoost na historických datech leadů). Trénink na označeném datasetu (spam/legální) dosahuje precision >95 % při recallu 90 %.

Monitorování přes Grafana: dashboardy podle míry fraudu, falešných pozitiv. A/B testování scénářů na podmnožině provozu minimalizuje rizika.

Důležité

  • Objednaný fraud stojí 10–50 Kč/lead, ale zkresluje CPC v reklamě o 20–30 %.
  • 'Měkký' filtr snižuje motivaci útoků bez poškození UX.
  • Kombinujte behaviorální analýzu s ML pro odolnost.
  • Všechno logujte pro post-analýzu a doplňování modelů.
  • Testujte na reálném provozu před nasazením.

— Editorial Team

Advertisement 728x90

Číst dál