[elektro-etc] captcha
potyo
potyo.ada at gmail.com
Sat Jan 23 15:39:52 CET 2010
Legegyszerűbb esetben ez általában úgy néz ki, hogy az
oldalgeneráláskor el van tárolva a $_SESSION tömbben, hogy mi az
oldalra kirakott képnek megfelelő kód. A form submitolásakor pedig
megnézi a szkript, hogy a beírt kód megegyezik-e a $_SESSION-ben
tárolttal. Ha nem egyezik, akkor nem jó a kód. Úgynézem, itt is ez a
legegyszerűbb eset van megcsinálva, mert a kép öt kis képből van
összerakva, és gondolom van 26 vagy 36 előre elkészített kép (betűk és
számok), amikből véletlenszerűen dől el, hogy mi kerül ki az oldalra.
Alap védelemnek elég, de viszonylag könnyen kijátszható, mivel a képek
elérési útvonala fix (pl. images/validation/validation_l.gif) és ebből
megállapítható a helyes kód. Bonyolultabb módszer ugyanez lenne, de
nem külön képek jelennének meg, hanem php-ből a szerveren össze lenne
rakva egy kép, és egyben megjelenítve. Illetve még nem ártana hozzá
egy további védelem, hogy ha pl. két példányt megnyitok az oldalból,
akkor a $_SESSION-ben csak a későbbinek megfelelő kép kódja lesz
eltárolva. Ezen úgy lehet segíteni, hogy generálsz egy random
azonosítót minden captchat tartalmazó oldal lekérésekor, és pl.
$_SESSION['azonosito'] változóba teszed a jó kódot. Az azonosítót
pedig kiteszed a html-be hidden input mezőbe. Submitoláskor van egy
azonosítód és egy beírt kódod, ezt hasonlítod egy if
($_SESSION['azonosito']==$_REQUEST['beirt_kod']) összehasonlítással és
már megis van, hogy jó volt a kód vagy nem.
Fuzesi Arnold <arnold.fuzesi.lista at gmail.com> írta (2010. január 23. 12:27):
> Urakok, tudna vki segiteni, ebbe az oldalba hogyan tudnek gyorsan
> beilleszteni egy CAPTCHA-t?
>
> http://loudlink.eu/webshop/contact_us.html
>
> Megtalaltak a spammelok :(
>
> Ezen az oldalon lathato a webshop beepitett cucca erre, vhogy at kellene
> "emelni".
>
> http://loudlink.eu/webshop/index.php?main_page=login
>
> Gyanitom nem tul bonyolult, de marhara nem ertek hozza.
>
>
>
> Thx,
> A.
>
>
More information about the Elektro-etc
mailing list