22.07.2008 Seznam.cz uvolnil captchu pro používání na libovolném webu

Pokud Vás už tak jako mě začínalo štvát mazání nesmyslných příspěvků z veřejných diskuzí pod článkem od spamovacích robotů, kteří se přes prachbídnou ochranu vždycky časem prokousali. Můžete použít ochranu spolehlivější, které se říka Captcha.

Seznam.cz tento týden uvolnil rozhranní HTTP, XML-RPC (FastRPC) pro veřejné použití. HTTP rozhranní je dostupné na adrese http://captcha.seznam.cz, FastRPC pak na adrese http://captcha.seznam.cz:3410. Captcha server vrací i zvukově namluvené symboly (čísla a písmena) pro handicapované uživatele (které vám prohlížeč přehraje), všech znaků, které se v obrázku můžou objevit.

Captchu napsal už kdysi dávno Miro Talášek. HTTP rozhranní přidal a pro veřejné použití ji připravil Michal Bukovský. Pokud si chcete jejich práci vyzkoušet, připravil jsem knihovničku v Pythonu, kterou si můžete stáhnout zde. Knihovna pouze zaobaluje celou funkčnost. Níže mám uvedený malý příklad, jak ji použít v aplikaci. Celý systém je velice jednoduchý. Rozhraní pro PHP 5 je zde.

Příklad použití v Pythonu:

import captcha
cap = captcha.CaptchaHTTP()
cap.create()
# vrati hash, ktery se pouzije pro generovani obrazku
# napr: '8TP8DEMLT4'

Příklad použití v PHP najdete zabalený v taru.

Do stránky si pak vložíte obrázek takovým to způsobem:
<img src="http://captcha.seznam.cz/captcha.getImage?hash=${captchaHash}">
Pro přehrání kódu stačí dát do stránky odkaz:
<a href="http://captcha.seznam.cz/captcha.getAudio?hash=${captchaHash}">
V kódu pak stačí jednoduchá kontrola (hodnoty captchaHash a captchaCode, pošle uživatel z formuláře).

import captcha
cap = captcha.CaptchaHTTP()
if not cap.check(captchaHash, captchaCode):
    # chyba spatne zadany kod z obrázku
    # a nejaka reakce na spatne vlozeny kod

Rozhranní je možné používat i přímo přes XML-RPC (FastRPC) rozhranní. Použití je obdobné, pouze vytvoříme objekt CaptchaRPC(). RPC rozhranní má následující metody:

captcha.create()
captcha.getImage(string hash)
captcha.getAudio(string hash)
captcha.check(string hash, string code)

Captchu si můžete vyzkoušet v diskuzi pod článkem. Podstatná výhoda je ta, že seznam.cz garantuje 100%-ní dostupnost. Hodně štěstí při používání.

Oficiální stránka captchy je zde http://captcha-api.seznam.cz/.

Komentáře (16)

© 2008. Weblog nejen o práci. www.Karotka.cz. Rss    Google Pagerank - www.karotka.czGoogle Pagerank S-Rank - www.karotka.czS-Rank