Kontakt-obfuszkátor

E-mail-cím vagy telefonszám a weboldaladra úgy, hogy a látogató lássa, a címgyűjtő robotok nagy része viszont ne. Módszerenként megmutatjuk, mit nyersz és mit veszítesz vele.

Nem csodaszer. Az egyszerű címgyűjtők ellen véd, a JavaScriptet futtató vagy a trükköt ismerő robot ellen nem. A beírt cím nem hagyja el a böngésződet.

Módszer

A szám Spencer Mortensen mérése: a megfigyelt spammerek hány százalékát tartotta távol a módszer.

    Eredmény

    Így látja a látogató

    Hátrány:

    Mit talál a robot?

    1. Regex a nyers forrásban Letölti a HTML-t, és értelmezés nélkül címmintát keres benne.

    2. HTML-értelmező, CSS és JS nélkül Feloldja az entitásokat, eldobja a megjegyzéseket és a címkéket, a rejtett elemeket is olvassa.

    3. Böngészőt futtató robot Lefuttatja a JavaScriptet, a látható szöveget és a linkeket olvassa. Nem kattint, képet nem ismer fel.

    A robot az előnézetből és a kódból valóban kiolvassa ezt, ez nem becslés. Egy robot, amely ismeri a konkrét trükköt, mindegyiket visszafejti, a képet is (szövegfelismeréssel).

    Másolás próbája

    Kód a weboldaladba

    HTML

    01

    Módszerek egymás mellett

    Az egyetlen nyilvános, folyamatosan frissített mérés Spencer Mortensen élő kísérlete. Minden módszer egy saját e-mail-címet véd a cikkében, és ha arra a címre spam érkezik, a módszert valaki feltörte.

    A 742 (szöveges cím) és 698 (link) megfigyelt spammerből hány százalékot tartott távol a módszer
    Módszer Szöveg Link JavaScript Képernyőolvasó Másolás Fő hátrány
    Védelem nélkül0 %0 %nem kelljójóMinden címgyűjtő megtalálja.
    Rejtett csali (CSS)100 %–nem kelljójóNem kattintható.
    HTML-megjegyzés99 %–nem kelljójóNem kattintható, egy értelmező egyben látja.
    HTML-entitások95 %99 %nem kelljójóEgy értelmező egy lépésben visszafejti.
    Fordított szövegirány (CSS)100 %–nem kellvisszafelé olvassafordítvaAkadálymentesség.
    Jelcsere: [kukac]97 %1–nem kellérthetőkézzel kell átírniElgépelés.
    ROT18-kódolás (JS)100 %99 %kelljójóJS nélkül nem látszik.
    Megjelenítés kattintásra (JS)100 %100 %kelljó (gomb)jóPlusz egy kattintás.
    Kép100 %2–nem kellnem érhető elnemAkadálymentesség, nagyítás.

    1 Angol AT és DOT szavakkal mérve, a magyar [kukac] változatra nincs adat. 2 JPG képpel mérve, itt SVG-kép készül.

    A szerző maga írja, hogy a minta még kicsi, ezért a 95 és a 100 % közti különbség bizonytalan. A számok csak e-mail-címre vonatkoznak, telefonszámra nincs hasonló mérés. A kísérletben használt kód részleteiben eltér a mienktől (pl. a csali szövege), a módszer elve azonos. Utolsó frissítés: 2026. augusztus 8., lekérdeztük: 2026. október 12.

    02

    Melyiket válaszd?

    A legtöbb oldalra elég egy JavaScript nélküli, akadálymentes módszer. Ami a gyűjtők szinte mindegyikét megállítja, az a látogatónak ne okozzon gondot.

    1. Szövegnek: rejtett csali

      JavaScript nélkül működik, a képernyőolvasó és a másolás a valódi címet adja, a mérésben 100 %-ot ért el. Ez az alapbeállítás.

    2. Linknek: entitások vagy kattintás

      Kattintható mailto: linkhez az entitások JS nélkül 99 %-ot értek el. Ha ennél többet szeretnél, és az oldaladon van JavaScript, válaszd a kattintásra megjelenő címet, külső fájllal.

    3. Kerüld a képet és a fordított irányt

      A képen lévő címet a képernyőolvasó nem tudja felolvasni, a fordított szöveget visszafelé olvassa. Mindkettő ütközik a WCAG 2.2 1.1.1 és 1.4.5 pontjával, pedig van ugyanilyen hatékony, akadálymentes módszer.

    4. Szigorú CSP mellett külső fájl

      Ha az oldalad Content Security Policyja nem enged inline szkriptet, a JS-es módszerekhez a külső fájlos változat kell. A klevi.hu is ilyen szabállyal fut, ezért az előnézet is így működik.

    5. Telefonszámnál nemzetközi alak

      Mérés nincs rá, ugyanazok az elvek érvényesek. A tel: link +36-tal kezdődjön (RFC 3966), így külföldről és minden telefonról hívható.

    6. Ne csak erre építs

      A cím előbb-utóbb máshonnan is kiszivárog (levelezés, adatszivárgás). A valódi védelem a spamszűrő, egy külön cím (álnév) a weboldalra, vagy egy kapcsolati űrlap.

    03

    Kérdések

    Megéri még elrejteni a címet?

    Mortensen mérésében a védelem nélküli címet minden megfigyelt spammer megtalálta, a legegyszerűbb trükk is a túlnyomó többségüket távol tartotta. A célzott támadás és a böngészőt futtató robot ellen nem véd, de a tömeges gyűjtés ellen olcsón és hatékonyan igen.

    Honnan jönnek a százalékok?

    Spencer Mortensen „Email obfuscation: what works in 2026?” című, folyamatosan frissített cikkéből. Minden módszer egy külön címet véd, a beérkező spamet spammerenként számolja. A szöveges címekre 742, a linkekre 698 spammer adatából. A szerző szerint a minta még kicsi. Mi csak a mért értékeket vesszük át, a cikk szövegét és kódját nem.

    Mi a különbség a display:none és a vizuálisan rejtett elem között?

    A display: none elemet a böngésző egyáltalán nem rajzolja ki: a képernyőolvasó nem olvassa fel, és másoláskor sem kerül a vágólapra. A vizuálisan rejtett (clip, 1 px-es) elem csak nem látszik, de felolvasásban és másolásban benne van. A csalit ezért mindig display: none rejtse, különben a látogató is a hamis címet kapja. Az eszköz „Másolás próbája” része mindkettőt megmutatja.

    Miért nincs a listán az SVG?

    A mérésben szereplő SVG-módszer egy külön feltöltött SVG-fájlt tölt be <object> elemmel. Ezt a sok helyen ajánlott object-src 'none' CSP-szabály letiltja, és külön fájlt kell feltölteni hozzá. Ha az SVG-t közvetlenül az oldalba írod, a cím olvashatóan ott áll a forrásban, így nem véd.

    Mi a baj a képpel?

    Az alt szövegbe nem írhatod a címet, mert akkor a robot is kiolvassa, így a képernyőolvasót használók nem tudják meg. Nem kattintható, nem másolható, és nagyításnál vagy sötét témánál rosszul látszhat. A WCAG 2.2 1.4.5 pontja szerint szöveget szövegként kell megjeleníteni, ha lehet.

    Mit jelent a CSP-figyelmeztetés?

    A Content Security Policy egy biztonsági fejléc, amely megmondja, honnan futhat szkript. Ha nem engedi az inline szkriptet (nincs benne 'unsafe-inline', hash vagy nonce), a HTML-be írt <script> nem fut le, és a cím meg sem jelenik. A külső fájlos változat a saját domainedről tölt be egy fájlt, ezt a szokásos script-src 'self' engedi.

    Elmentitek a beírt címet?

    Nem. A kód a böngésződben készül, a cím nem kerül hálózatra, a címsorba vagy a böngésző tárhelyére. Az oldal semmit nem jegyez meg.

    Források

    Mérés: Spencer Mortensen: Email obfuscation: what works in 2026? (új lapon nyílik, angol), utolsó frissítés 2026. augusztus 8., lekérdezve 2026. október 12. A szöveg a szerző jogvédett műve, mi csak a mért adatokat idézzük forrásmegjelöléssel.

    Akadálymentesség: W3C WCAG 2.2 (új lapon nyílik, angol), 1.1.1 Nem szöveges tartalom, 1.4.5 Szöveget tartalmazó kép. Telefonlink: RFC 3966, The tel URI for Telephone Numbers (új lapon nyílik, angol). CSP: W3C Content Security Policy Level 3 (új lapon nyílik, angol).

    Menü

    Vissza a főoldalra
    Esc

    ↑↓ választás Enter megnyitás