ugrás a tartalomhoz

Rejtett űrlapmezők használata/ spam elkerülése

Szuperjég · 2013. Jan. 15. (K), 07.56
Sziasztok!

Szeretném megkérdezni, hogy mennyire elfogadott megoldás rejtett mezőket elhelyezni egy kapcsolatfelvételi űrlapban CSS segítségével, majd PHP-vel megvizsgálni az elküldeni szándékozott tartalmat. Mennyire valószínű, hogy a robot kitölti a rejtett mezőket?
Előre is köszi a válaszokat.
 
1

inkább js

szabo.b.gabor · 2013. Jan. 15. (K), 09.51
a robot alapvetően a forrást nézi, nem a lerenderelt végeredményt (mivel az előző vizsgálata nagyságrendekkel egyszerűbb), úgyhogy nem ér sokat a vázolt megoldás.

de! nem rossz az ötlet, ha továbbra is fenntartjuk, hogy a robot lusta (és az), akkor javascript-et sem futtat, úgyhogy kliens oldalon javascript-tel csinálj egy rejtett bemeneti mezőt, hogy a felhasználót azért ne zavarja, vagy nevezz át egy meglévőt. ezzel a robotok nagy részét (99%) kizárod, ha meg mégis beüt valami, akkor az már célzott lesz, ott okosabbnak kell lenni.

persze ezzel kizárod a javascript-et nem futtató embereket, de nem kell captcha-t használnod.

kicsit más, de a csrf token-nek is utánanézhetsz.
2

Negatív capthca

zforgo · 2013. Jan. 15. (K), 11.27
Mivel elég valószínű, hogy kitölti, lehet az hibás eredmény, ha van a mezőben tartalom. Vagyis egy üres hidden inputot raksz ki és submit után vizsgálod a tartalmát. Nyilván ez sem 100%-os védelem.
3

Vagyis egy üres hidden

kuka · 2013. Jan. 15. (K), 11.39
Vagyis egy üres hidden inputot raksz ki és submit után vizsgálod a tartalmát.
Gondolom a „hidden input” alatt text inputot értettél CSS-el elrejtve az emberszabású látogatók szeme elöl. Mert azért a spambotok nem olyan kezdők, hogy kitöltsék a hidden inputokat.
4

Jogos

zforgo · 2013. Jan. 15. (K), 11.50
Bevallom, a hidden input alatt hidden inputot értettem, de neked van igazad. A CSS megoldás a nyerő. Köszi.
5

tényleg :)

szabo.b.gabor · 2013. Jan. 15. (K), 11.52
tényleg :)
6

JavaScript helyett CSS

saben · 2013. Jan. 15. (K), 22.51
Az első hozzászóló JavaScript-es ötlete jó, csak igen necces annak, akinek nincs JavaScript..

Szóval szerintem, menjünk tovább.:

A hidden-es ellenőrzés nálam nem jött be anno, mert a robot azt "lusta" kitölteni vagy nem akarja.

Szerintem egy új input elemet kéne léterhozni, ami hasonló a form összes input eleméhez (síma text mező), mint ha hozzá tartozna.. egy különbséggel! Ha ez a mező értéket kap, akkor egyszerűen a beküldés semmisnek minősíthető (nem kerül feldolgozásra, hibát dob, stb...)..

Az elrejtést meg lehetne csinálni szimplán CSS-ből. Így azt is kizártuk, hogy a felhasználó adattal töltse ki azt a mezőt.

Egyébként pont nemrég volt ilyen robotos problémám, már-már a captca-t is megkerülték (napi 5-10 spam), de ez kíméletlenül megfogta az eddig összes próbálkozó robotot, nem kis látogatottságú oldalról van szó.

Teszt ként ki is próbáltam a captcha nélküliséget, biztató eredmény.. de ha konkrét támadásról van szó, mit sem ér.
7

És mi van azzal, akinél a CSS

Joó Ádám · 2013. Jan. 15. (K), 22.55
És mi van azzal, akinél a CSS van kikapcsolva? Ha már ez a megoldás, akkor legyen egy címkéje „Ezt a mezőt hagyd üresen” felirattal.
8

Hát igen

saben · 2013. Jan. 15. (K), 23.12
Igazad van, bár ez annyira szerintem nem jellemző. A karakteres böngészőknél okozhat ez problémát (pl. lynx), ott hasznos információ lehet ez.

Más esetben direkt lehet kikapcsolva a CSS/JS. A mobil lehet kakukktojás, habár ott is már széles körben támogatva van a HTML/CSS/JS.
9

Én gyakran kikapcsolom a

Joó Ádám · 2013. Jan. 16. (Sze), 00.53
Én gyakran kikapcsolom a CSS-t, ilyen-olyan indokból.
10

Miért nem Captcha?

Pepita · 2013. Jan. 17. (Cs), 17.22
Lehet, hogy én vagyok maradi, de miért nem Captcha?
Na nem az olvashatatlan, kétszavas, ne-írj-közé-szóközt, stb-re gondolok!
Én sajátot használok, pl.: "3X6-8=" <- ez van a képen (persze a számok "véletlenek"), csak picit egymásra húzva (és fel-le) a karakterek, valamint kicsit "pixelesítve" és árnyékolva van. Robot még nem ment át rajta, a felhasználók meg hajlandóak használni (mert egyszerű a művelet és olvasható).
11

mert így a felhasználónak

szabo.b.gabor · 2013. Jan. 17. (Cs), 19.29
mert így a felhasználónak egyszerűbb.
12

Köszönöm a véleményeket. Arra

Szuperjég · 2013. Jan. 18. (P), 04.36
Köszönöm a véleményeket. Arra én sem gondoltam, hogy CSS-nél is érdemes kiírni egy figyelmeztető üzenetet, arra az esetre ha az ki van kapcsolva.:)
13

talált cikk

Szabimaci · 2013. Jan. 21. (H), 22.27
az alábbi cikket találtam a témában, melyben szerepel néhány, az említettekhez hasonló megoldás is (kissé régi, de szerintem hasznos):
http://bjorkoy.com/2008/01/bulletproof-protection-against-comment-spam/
14

97%-os hatékonyság nem célzott támadás esetén

deejayy · 2013. Jan. 22. (K), 09.06

            <div class='idiv hidden'>
                <label for='email'>Ezt a mezőt ne töltsd ki, "kapcsa" helyett van</label>
                <input class='input' type='text' id='email' name='email'/>
            </div>
Tapasztalatból írom a fenti számot, van egy kapcsolatfelvételi űrlapom a honlapom főoldalán, mondjuk a látogatottsága nem nagy, de évek óta megy, és meg tudom mondani, hogy mennyi kéretlen levél jött be azon a csövön. Sőt, ha úgy akarom, mondhatok 100%-ot is, mivel az a 3%, ami átesett a szűrőn, az teljesen üres volt. Tehát onnan SPAMet még nem kaptam, soha.

A robotok annyira mohók, hogy az 'email' nevű input mezőt mindenképpen kitöltik :D Ha van tartalma, akkor spam. Ennyi.
15

A robotok annyira mohók, hogy

kuka · 2013. Jan. 22. (K), 10.14
A robotok annyira mohók, hogy az 'email' nevű input mezőt mindenképpen kitöltik :D
És arról is van felmérésed, hogy a böngészők/böngésző kiegészítők automatikus űrlapkitöltő funkciója miatt mennyi jó adatot utasított el?
16

Aki elküldi az űrlapot

Joó Ádám · 2013. Jan. 22. (K), 10.20
Aki elküldi az űrlapot anélkül, hogy elolvasná a mezőneveket, azt szerintem minden további nélkül lehet robotnak tekinteni akkor is, ha anya szülte.
17

Aki elküldi az űrlapot

kuka · 2013. Jan. 22. (K), 10.34
Aki elküldi az űrlapot anélkül, hogy elolvasná a mezőneveket, azt szerintem minden további nélkül lehet robotnak tekinteni akkor is, ha anya szülte.
Jó kérdés, hogy milyen anya szül olyan felhasználót, aki el tudja olvasni a <div class='idiv hidden'>-en belül elhelyezett mező tartalmát. Legalábbis a „hidden” alapján én azt gyanítom, hogy az az egész div el lesz rejtve.
18

A meg nem jelenített elemeket

Joó Ádám · 2013. Jan. 22. (K), 14.02
A meg nem jelenített elemeket a böngészőnek úgy kell kezelnie, mint ami nincs is ott.
19

A meg nem jelenített elemeket

kuka · 2013. Jan. 22. (K), 16.37
A meg nem jelenített elemeket a böngészőnek úgy kell kezelnie, mint ami nincs is ott.
Miért is? Végül is mindegy. Az a fő, hogy Firefox, Chrome és Opera mindegyike elküldi a láthatatlan mezőket. Legalábbis az én felfogásom szerint elrejtett mezőket. Ha valaki ismer más rejtegetési módszert… ne rejtegesse.
20

*meghajol*

Joó Ádám · 2013. Jan. 22. (K), 18.02
*meghajol*
21

autocomplete off

Drawain · 2013. Jan. 23. (Sze), 22.48
Az autocomplete="off" attribútum kikapcsolja az űrlapok automata kitöltését is (azon túl, hogy letiltja a billentyűleütést követő auto-kiegészítést is). Néhány éve végeztünk egy kis tesztelést is ennek okán, nem tapasztaltunk olyat, hogy a böngészők kitöltötték volna az ilyen mezőket.

Mi most már a legtöbb weboldalunkon felhagytunk a captcha-kkal, ilyen honeypot-okkal védekezünk, ez a robotok 99%-át ki tudta szűrni. A következő megoldások mixelésével védekezünk:
- 3 különböző input mező a botok számára kecsegtető nevekkel (pl. address, name, email, stb.), CSS-el eltüntetve, autocomplete="off" attribútummal. Természetesen a mezők rendelkeznek megfelelő label-el, hogyha mégis látja a user, akkor ne töltse ki. Van olyan mező aminek az "ürességét", van aminek az előre meghatározott alapértékét ellenőrizzük.
- időlimit felvétele, vagyis egy oldalletöltést követően, ha 1-3mp alatt történik post-olás, akkor ott valami probléma van. Erre hibaüzenetet kap a felhasználó, hogy várjon egy kicsit és úgy postolja újra az űrlapot.

Ne felejtsük el a tabindex-et jó magas értékre állítani, különben a tab-al könnyen beleírhat a user egy ilyen mezőbe!

Van néhány "népszerűbb" oldalunk is, elég sok bugreporttal a felhasználók részéről, de még nem panaszkodtak olyan hibára, ami a honeypotokra lenne visszavezethető.

Természetesen ez a megoldás könnyen megkerülhető, ha valaki olyan botot ír, amit kimondottan az oldalra szab. Ekkor még lehet kísérletezni az input mezők neveinek véletlenszerű kiosztásával, de ha ránk szállnak, sajnos nagy valószínűséggel captcha lesz a vége.
25

Tabinex tipp: chrome-ban

deejayy · 2013. Jan. 25. (P), 12.34
Tabindex tipp: chrome-ban teszteltem, a -1 értékre teljesen kihagyja a tabsorrendből, tehát nem tudsz ráváltani.
23

Az autocomplete="off"

kuka · 2013. Jan. 24. (Cs), 12.50
Az autocomplete="off" attribútum kikapcsolja az űrlapok automata kitöltését is (azon túl, hogy letiltja a billentyűleütést követő auto-kiegészítést is). Néhány éve végeztünk egy kis tesztelést is ennek okán, nem tapasztaltunk olyat, hogy a böngészők kitöltötték volna az ilyen mezőket.
Lévén szívből utálom az automatikus űrlap kitöltést, nincs hozzá konkrét eszközöm telepítve/beállítva amivel tesztelhetném. De a Web Developer kiegészítő Populate Form Fields parancsa simán kitölti őket. Lehet a böngészők engedelmeskednek az autocomplete="off"-nak, de a kiegészítőktől nem feltétlenül várom el.
24

Nagyon szélsőséges eset

Drawain · 2013. Jan. 24. (Cs), 13.59
Ezt mi nagyon szélsőséges esetnek tekintjük, tényleg nem panaszkodott erre még senki - és ahogy deejayy is mondta, logolás mellett sem tapasztalt problémát a megoldással. Viszont sokkal-sokkal kényelmesebb és barátibb egy form captcha nélkül!

Halkan hozzátenném, hogyha egy mezőnek explicite be van állítva, hogy ezt semmiképp se töltsd ki automatikusan, akkor a kiegészítő ne töltse már ki nekem! Ha kitölti, akkor az szerintem hibás működés.

Mi sajnos nem tettük meg, de kíváncsi lennék azért konkrét mérésekre azzal kapcsolatban, hogy mennyi embert érint ez a hiba (és emiatt nem tud pl. regisztrálni) szemben azzal, hogy hány embert nyer az, hogy leegyszerűsödik az űrlap.
22

Igen, van, mert noha nem

deejayy · 2013. Jan. 24. (Cs), 09.38
Igen, van, mert noha nem küldetem el a spameket e-mailben, egy külön könyvtárban gyűjtöm őket, és 0%-ot tudok erre mondani. :)