„The boy was sad too and we begged her pardon and butchered her promptly.“ Ernest Hemingway (The Old Man and the Sea)
maskot zápisníku

Chybějící Kousek Zápisník Antonína Daňka

Open Source, programování, internet,

kurzor

Upozornění na nový obsah pomocí RSS.

? Co je to RSS?

Upozornění na nový obsah pomocí e-mailu.


j0309271.jpg

Změna antispamu u komentářů - b2evo captcha

Bohužel, můj antispam začal propouštět zprávy od robotů, a tak bylo třeba změnit obranu.

Můj jednoduchý antispam, se kterým jsem byl donedávna spokojený začal propouštět reklamu. Byly to cca tři příspěvky denně. Vím jak vypadá taková stránka, když si jí najde robot - většinou hned pošle několik desítek zpráv. Z toho se dá usoudit, že robotům se nepodařilo můj antispam obejít přímo, ale že přes něj zprávy protlačili zkrátka metodou pokus - omyl. Toto řešení bohužel můj antispam, kde je třeba vybrat z menu správnou barvu, umožňuje.

Původně jsem chtěl zalogovat IP adresy botů, v iluzi, že se bude jednat o pořád ty samé stroje, které bych následně zabanoval. Bohužel, téměř každý spam příspěvek měl jinou IP adresu. Zde je list mnou zalogovaných adres. Nijak jsem je nezkoumal - je dost možné že to budou proxy servery.


69.244.101.176
127.0.0.1, 80.190.241.118
86.56.182.79
88.103.118.111
82.127.44.131
87.242.116.136, 69.88.144.163
85.135.26.197
58.65.237.161
200.160.251.246
24.232.192.13

Rozhodl jsem se tedy šáhnout po nějakém profesionálním řešení, a tak netrvalo dlouho a už na mě koukaly výsledky vyhledání Google na klíčové slovo Captcha. Bohužel, v tomto případě jsem nebyl moc úspěšný, a tak jsem toto slovo nechal vyhledat na známém open sourceovém sídle - http://sourceforge.net/. Zdejší lokální vyhledávač mi vrátil spusty relevantních výsledků, z nichž jsem si nakonec vybral b2evou captchu. Skript je napsaný objektově a dal se velice intuitivně identifikovat. Tomu vděčím především komentářům, kterých bylo jen pár (ale byly věcné) a onomu již zmíněnému objektovému programování.

Co je Captcha, asi nemá cenu internetově znalému člověku vysvětlovat. Navíc tento článek plní pouze jakousi funkci dokumentace změn na blogu. Přesto tedy - jedná se o kontrolní proti spamový obrázek. Zkrátka skript vygeneruje náhodné znaky jako obrázek, které člověk snadno rozpozná a opíše do formulářového pole. Naopak pro robota je rozbor obrázku a následná identifikace písma velice náročná činnost a při různých deformacích písma by se dalo říci až nemožná.

Nastavení b2evo captcha class

Přestože se jedná o histroii dokumentující článek, zmíním tu několik řádek z kódu, pomocí nichž se dá ovlivnit chování Captchi. To proto, aby měl článek alespoň nějakou informační hodnotu icon_lol.gif.

b2evo_captcha.config.php



$minchars = 7;
//Minimální počet vygenerovaných znaků.


$maxchars = 7;
//Maximální počet vygenerovaných znaků.


$minsize = 20;
//Minimální velikost fontu vygenerovaných znaků.


$maxsize = 25;
//Maximální velikost vygenerovaných znaků.


$maxrotation = 20;
//Maximální rotace písmen ve stupních.


$noise = TRUE;
//Při hodnotě TRUE, budou v pozadí generovány různé malé znaky. Vypnout lze hodnotou FALSE.


$websafecolors = TRUE;
/*Generované znaky budou pouze v tzv. bezpečných webových barvách. Tzn. že se budou na všech zařízeních podporujících alespoň 256 barev (bitová hloubka 8) zobrazovat správně a přesně).*/


$debug = FALSE;
//Nechte vypnuté, jinak se Vám bude vypisovat log - průběh skriptu.


$case_sensitive = FALSE;
/*Nastavte na hodnotu TRUE, pokud chcete, aby uživatel musel opisovat velké či malé znaky přesně tak, jak je to na obrázku. Považuji to za zbytečné a obtěžující.*/


b2evo_captcha.class.php

Tento soubor už přímo obsahuje vykonávací funkce. Důležitá je zde především proměnná $private_key, ve které je uložen řetězec znaků, které v Captche budou zobrazeny. Pokud tedy explicitně změním hodnotu tohoto řetězce, můžu si generovat vlastní text.


$private_key ="Antonin Danek";


captcha_antonin_danek.jpg

Nechť nás provází spamový mír icon_smile.gificon_razz.gif.

datum 31.03 /2007 - 16:07 tag tento web komentář 6 komentářů (přečteno: 2300x)

Související články:

Feedburner

GEOrss, už ho máš?

WebExpo 2009

Nenechte si ujít

Nejčtenější články za poslední půlrok.

Nejkomentovanější články za poslední půlrok.

Nejčastěji komentující čtenáři za poslední půlrok.

Nejkvalitnější komentář

Antonín Daněk

Na to může říct jen to, že já jí nevytvářel a to, že ty můžeš udělat lepší. icon_wink.gif

Jak vidíš, tak jí tu už nepoužívám (také byla prolomena).

Obecně platí, že jakýkoliv anti-spam který stojí za prolomení bude prolomen. Tzn. že neexistuje žádné plošné řešení pro každého. Nejlepší je udělat si vlastní jednoduchou obranu, kterou nikdo jiný nepoužívá a nikomu nestojí za to jí implementovat do bota.


Zaujal vás tento článek? Nezapomeňte, že je ve vaší moci ukázat stovkám dalších lidí, že tento článek se vám libí. Stačí kliknout na následující tlačítko. pridej.cz

Chcete být upozorňován(a) na nové texty? Pak si přidejte do své RSS čtečky zdroj pro články, bleskovy nebo komentáře a buďte tak informování o všem novém.

Neváhejte napsat k článku komentář (Co je to komentář ?), pokud máte k danému tématu co říci.

check


check



icon_smile.gif icon_sad.gif icon_biggrin.gif icon_confused.gif icon_cool.gif icon_twisted.gif icon_wink.gif icon_cry.gif icon_eek.gif icon_evil.gif icon_exclaim.gif icon_frown.gif icon_cheesygrin.gif icon_idea.gif icon_lol.gif icon_mad.gif icon_mrgreen.gif icon_neutral.gif icon_question.gif icon_razz.gif icon_redface.gif icon_rolleyes.gif icon_surprised.gif icon_arrow.gif icon_arrowd.gif icon_arrowl.gif icon_arrowu.gif


Prosím odpovězte na následující otázku (do formuláře zadejte pouze písmeno).

Jakou z následujících věcí by si vybral robot?
a) štěně b) kytičku od svého milého c) pečlivě naformátovaný soubor

Nápověda: Zkuste možnost c (ale uznám vám i b).


check


1

když má někdo gd knihovnu, není co řešit :)

odpovědět

  • Na komentář odpověděl(a) Antonín Daněk v komentáři #2
Gravatar

bs

31.03 /2007 - 20:58


brak | průměr | kvalitní názor


2

Toto je odpověď na příspěvek: 1#

Ale jdi, řekni mi kde dneska neni GD knihovna, i na ic.cz je, dokonce verze 2.

Jinak jsem ale přeci jen s tou GD knihovnou problém měl, na localhostu ne, ale tady jo. Autor dal do toho scriptu test verze GD přes fci get_gd_version() a když tahle fce vrátí nulu, pak se ukončí celý skript. Onebit asi nemá tuhle fci ošetřenou, protože vracela false, ale stačilo podmínku zakomentovat a bylo to v pořádku.

odpovědět

  • Tento komentář je reakcí na příspěvek #1, který napsal(a) bs
Gravatar

Antonín Daněk

01.04 /2007 - 00:01

danek<zavináč>antonindanektečkacz

brak | průměr | kvalitní názor


3

Ty woe, spam bot ma IP adresu 127.0.0.1!!! Zabanuj ho :-D

odpovědět

  • Na komentář odpověděl(a) Antonín Daněk v komentáři #4
Gravatar

Scotty

01.04 /2007 - 10:00


brak | průměr | kvalitní názor


4

Toto je odpověď na příspěvek: 3#

Jo, na to jsem taky koukal jak blázen. Tu řádku takhle přesně jak je obsahovala proměnná $SERVER[remote_addr] - teda byly v ní dvě adresy.

odpovědět

  • Tento komentář je reakcí na příspěvek #3, který napsal(a) Scotty
Gravatar

Antonín Daněk

01.04 /2007 - 11:11

danek<zavináč>antonindanektečkacz

brak | průměr | kvalitní názor


5

Prijde mi to az moc ucesane. Myslim ze kazdy prumerny stroj na cteni pisma pozna ktere ty znaky jsou ty prave. Jsou nejvetsi a nejkontrastnejsi. Takze tuto ficuru vidim jen jako obycejne vypsani textu do obrazku jen zajimavym zpusobem :)

odpovědět

  • Na komentář odpověděl(a) Antonín Daněk v komentáři #6
Gravatar

BJ

01.08 /2007 - 00:58


brak | průměr | kvalitní názor


6

Na to může říct jen to, že já jí nevytvářel a to, že ty můžeš udělat lepší. icon_wink.gif

Jak vidíš, tak jí tu už nepoužívám (také byla prolomena).

Obecně platí, že jakýkoliv anti-spam který stojí za prolomení bude prolomen. Tzn. že neexistuje žádné plošné řešení pro každého. Nejlepší je udělat si vlastní jednoduchou obranu, kterou nikdo jiný nepoužívá a nikomu nestojí za to jí implementovat do bota.

odpovědět

  • Tento komentář je reakcí na příspěvek #5, který napsal(a) BJ
Gravatar

Antonín Daněk

01.08 /2007 - 02:10

danek<zavináč>antonindanektečkacz

brak | průměr | kvalitní názor


Navrženo pro přenos v binární soustavě | Kdo stojí za tímto blogem? | © Antonín Daněk | Autorské dílo

TOPlist