Captcha segítségével zend_captcha_image nélkül zend_form

Én úgy használja Zend_Captcha_Image könyvtár külön Zend Framework vagy egyéb alkatrészek. Ez lehetővé teszi a könyvtár bármely projekt, anélkül, hogy extra kódot egyidejűleg nélkül bonyolítja a szerkezet a kérelmet.

Az interneten van egy megfelelő számú ilyen kiadványok, az egyetlen különbség az, hogy ezek mind kezelik Zend_Captcha_Image párhuzamosan egy Zend_Form, és azt, ahogy már fentebb írt szeretnék elkerülni. Ennek egyik oka, legalábbis van egy. Például volt, hogy végre egy biztonsági képet a CMS, ahol kezdetben hiányzik. Természetesen a formák, amelyek használt captcha által létrehozott rendszeres eszközökkel CMS és használja Zend_Form volt lehetetlen vagy értelmetlen.

Tulajdonképpen miért Zend_Captcha_Image? Ha valaha is tanulni CMS piacon, akkor nem tudott segíteni, de észrevettem, hogy a legtöbb motor captcha biztonsági kép pontosan ugyanazt a nézetet. Nagy népszerűségnek szerzett könyvtár elosztott helyszínen captcha.ru. Ennek eredményeképpen ez a captcha jól ismeri a spam bot, ami miatt használhatatlan.

Talán a írások Zend_Captcha_image Legalább valaki jön át az ötletet, hogy menjen egy kicsit tovább, hogy megoldást találjanak a problémára elleni védelem spam oldalon.

A munka Zend_Captcha_image szükség van egy megfelelő GD változatát. Ez nem lehet probléma, azonban, ha valami nem működik, ellenőrizze, hogy a GD jelen van (Lásd a phpinfo).

Először is, menjünk ki a Zend Framework a szükséges könyvtárat. Sajnos, hogy csak egy Zend_Captcha_image nem működik, hiszen számos függőséget, amely tartalmaz egy felületet az ülés, a Zend_Loader kivételek. Ezek az alábbi fájlokat:

Először is, egy szkriptet, hogy levonja a képet, egy munkamenet, és így tovább.

Ahhoz, hogy a forgatókönyv egy kicsit érdekes, úgy döntöttem, hogy nagyon jó lenne, hogy festeni a képet különböző betűtípusokat. Ugyancsak nehezíti a találgatás captcha. Betűtípus lista tárolása a tömb $ fontsBase. Természetesen az a legjobb, hogy bármilyen egzotikus betűtípusok és ne használja a nyilvánosan elérhető rendszer.

Ezután csatlakoztassa a könyvtár is, és hozzon létre egy objektumot. Annak elkerülése érdekében, ikludit összes függőség kézzel, én csak hozzá a könyvtár elérési útját ZF az include_path. Standratnaya gyakorlatban a legtöbb keretek között.

Miután létrehozott egy objektumot, meg védekezni a képet. Módszer nevek önmagukért beszélnek. érték Zend_Captcha_Image :: setTimeout () Továbbra is megmagyarázni. Ez a módszer a munkamenet életét, más szóval, a megadott nekünk a másodpercek számát, a felhasználó valóban, mintha valami legyőzni a töltelék a penész. Egyébként volna, hogy újra be a biztonsági kódot, mint a korábbi érvénytelenné válik. Azt hiszem, 10 perc is elég több mint elég.

Ezekkel a beállításokkal, akkor kap valamit, mint az alábbi kép:

Szintén fontos megjegyezni, hogy a könyvtár, adott Zend_Captcha_Image :: setImgDir () léteznie kell, és írható. Akkor tegye a generált kép. A tisztítás tapasztalat nem szükséges, akkor automatikusan megtörténik.

Az utolsó sor kódot megkapjuk a munkamenet azonosítót, aki szintén a neve a generált kép fájlt. Tárolja a változó használható html formában.

A forma-minden közhely.

captchaCode mező be szöveget a védő képet. A rejtett mező captchaId át a munkamenet azonosítót a script végzi érvényesítési formában.

Érvényesítő formában. Ellenőrizze captcha kód

Túl könnyű itt. Az már ismert minta csatlakoztassa a kívánt könyvtárat, ebben az esetben dolgozni ülések, megkapjuk a szükséges adatokat a munkamenet és ellenőrzi be a kódot a kép.

További paraméterek állíthatók be a generált kép Üzenet: Captcha, akkor olvassa el a hivatalos útmutató a adepterrel Zend_Captcha. Ők ott maradt egy kicsit.

Ha felveszi egy szép betűtípust, meg egy tisztességes zajszint, akkor kap egy jó védnökséget a spam formában. Fontos, hogy ne felejtsük el, hogy amellett, hogy a robotok, az űrlap szeretné kitölteni, és az emberek. Ne a kódot a kép olvashatatlan. A legtöbb bosszantó, ha nem tudja kivenni a karakterek a captcha, ezért a jogot, hogy adja meg őket.

Is közzéteszünk a fájlt scriptek, amelyek az itt tárgyalt. Zend_Captcha_Image_source