• mogyi925
    #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:

    <form action="comment.php" method="post">
    <label for="name">Neved: </label><input id="name" name="name" type="text" />
    <label for="comment">Hozzászólás: </label>
    <textarea id="comment" name="comment">
    </textarea>
    <input type="submit" name="save" value="Mentés" />
    </form>

    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.

    Ha lesz egy kis időm, elszórakozok ezzel.