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/.
