#24
MI-módszerekkel is okosíthatók a CAPTCHA (én kapcsának - lásd a szóviccet a cikkben - vagy angolul kepcsa-nak ejtem) törésére szakosodott programok, szóval a véletlenszerű torzítás nem mindig vezet eredményre.
Manapság a legtöbben a reCAPTCHA szolgáltatást ajánlják a fejlesztőknek, itt a felismeréssel könyvek digitalizálását lehet segíteni.
A Mefiblogon láttam egy ötletet, ami arra épül, hogy a spammerprogramok általában meghatározott szerkezetű formokra vadásznak, vagy bután kitöltenek minden formot, ami az útjukba kerül. Így néz ki:
A name és a comment már árulkodhat a spammerrobotnak arról, hogy itt egy blog-kommentről vagy vendégkönyvről lehet szó, és szépen beírja a HTML-kódjait mind a kettőhöz, és elküldi a szerverre. A csel a következő: CSS-sel elrejtünk egy szövegbeviteli mezőt a képernyőről, illetve a CSS-t nem támogató böngészőt használók (lehetnek vakok, links-fanatikusok, stb) kedvéért kiírjuk hozzá, hogy ebbe a mezőbe ne írjon semmit. Ezután ha az űrlapot úgy küldi a felhasználó, hogy az említett rejtett (de csak megjelenés szempontjából, a type="hidden"-t észreveheti az okosabb spambot) mezőben szöveg van, akkor egyszerűen eldobjuk a hozzászólást.
A saját blogomon egyelőre az IQ-teszt módszert alkalmazom, azaz a felhasználónak regisztrációkor össze kell adni két négyjegyű, számot (úgy generálom, hogy az összeg is legfeljebb négyjegyű legyen), de a reCAPTCHA és a rejtett mező is használható ötletnek tűnik. Ezek kombinációja lehet a legjobb, valamint a browser agent-ek feketelistázása. A szebb módszer az, ami több ötletet kombinál. Mondjuk készítünk három sávot pontozással: 0-10 pontig biztosan spammer, 10-20-ig bizonytalan, moderátori jóváhagyás kell, 20 pont fölött ember. (Hasraütve.) Ezután ha oldallekérésnél letölti az oldalhoz tartozó képeket, JS-fájlokat, CSS-t, favicont, RSS-t, satöbbit, az 1-2 pont elemenként, ha stimmel a referer az 5 pont, ha stimmel a vízuális CAPTCHA, az mondjuk 5 pont, ha ki van töltve, aminek ki kell, az 2 pont, ha nincs benne html-kód, viagra és hasonló feketelistás szó, az 1 pont, ha nincs kitöltve egy vízuálisan rejtett mező, az 3 pont, ha az oldallekérés és a küldés között eltelt legalább 10 másodperc, az 2 pont, ha lefutott egy javascript, az újabb 1-2 pont, stb. Ezután a pontjai alapján - statisztikai módszerekkel belőtt határok szerint - a rendszer már okosan eldöntheti, hogy spammer-e.