ПредишенСледващото

Бих обмисли възможността за използване Zend_Captcha_Image библиотека отделно от ZendFramework или други компоненти. Това ще позволи на библиотеката и да е проект, без добавяне на допълнително код в същото време и без усложняване на структурата на заявлението.

В интернет има достатъчен брой от тези публикации, с единствената разлика е, че всички те са третирани Zend_Captcha_Image в тандем с Zend_Form, а аз, както вече написано по-горе, бих искал да се избегне това. Една от причините, най-малко, имам. Например, тя е трябвало да се приложи изображение в сигурността на ССФ, където тя е била първоначално липсва. Разбира се, формите, за които се използват капитан, създадени от редовен средства CMS и използват Zend_Form е невъзможно или безсмислено.

Всъщност, защо Zend_Captcha_Image? Ако някога се научат CMS пазар, няма как да не забележите, че изображението на повечето търсещи Captcha сигурността е абсолютно едно и също. Голямата популярност придоби библиотека разпределени captcha.ru сайт. В резултат на това този капитан и признато от всеки спам ботове, което го прави безполезни.

Може би моите писания за Zend_Captcha_image поне някой ще се намира идеята да отиде малко по-нататък, за да се намери решение на проблема за защита срещу спам сайт.

За да работите Zend_Captcha_image трябва да има адекватна версия на GD. Това не трябва да е проблем, обаче, ако нещо не работи, уверете се, че GD присъства (Виж phpinfo).

На първо място, нека да се измъкнем от ZendFramework необходимите библиотеки. Уви, да вземе само един Zend_Captcha_image не работи, тъй като има редица зависимости, които включват интерфейс към сесията, изключения Zend_Loader. Това са следните файлове:

На първо място, напишете скрипт, който ще направи снимка, създаване на сесия, и така нататък.

Така, че скриптът е малко по-интересно, реших, че ще е много добър да рисува изображението на различни шрифтове. Тя също така ще усложни нашата познае капитан. Font списък се съхранява в масива $ fontsBase. Естествено, най-добре е да се използват всякакви екзотични шрифтове и да се избегне с помощта на публично достъпна система.

На следващо място, свържете самата библиотека и да се създаде един обект. За да се избегне ikludit всички зависимости ръчно, просто добавете пътя до директорията с ZF include_path за. Standratnaya практикува с повечето рамки.

След като се създаде обект, създаден за охрана на изображението. името на метод говорят за себе си. на стойност Zend_Captcha_Image :: setTimeout () Остава да се обясни. Този метод се прилага за живота на сесията, с други думи, в нас насочени част секунди, потребителят ще наистина харесвам нещо надви попълването на формата. В противен случай, той ще трябва отново да въведете кода за сигурност, тъй като първият ще стане невалидна. Мисля, че 10 минути са достатъчни повече от достатъчно.

С тези настройки, ще получите нещо подобно на изображението по-долу:

Също така имайте предвид, че в директорията, дадени в Zend_Captcha_Image :: setImgDir () трябва да съществува и да бъде достъпна за писане. Тя ще постави генерираното изображение. Относно почистването опит не е необходимо, тя ще стане автоматично.

Последният ред на код получаваме идентификационния номер на сесията, която е и името на генерирания файл образ. Съхранява се в променливата за използване в HTML форма.

С форма, всички обичайно.

captchaCode поле за въвеждане на текст с защитно изображение. Скритият областта captchaId премине идентификационния номер на сесията в сценария изпълнява форма валидиране.

Validator форма. Проверете CAPTCHA кодекс

Прекалено лесно е тук. Според запознати вече модел свържете библиотеката, която искате, в този случай да се работи с сесии, ние получаваме необходимата сесия на данни и проверки въведен кода от изображението.

Допълнителни параметри, които могат да бъдат настроени за генерирано изображение Съобщение: Captcha, можете да прочетете в официалната ръководството на адаптер Zend_Captcha. Те оставили там малко.

Ако изберете хубав шрифт, задайте прилично ниво на шум, можете да получите добра протекция от спам форми. Важно е, не забравяйте, че в допълнение към роботите, вашата форма ще искате да попълните и хора. Да не се правят кода от картинката прочетен. Най-досадно, когато не мога да различа героите в CAPTCHA и следователно правото да влизат в тях.

Да се ​​публикува и файла със скриптове, които се обсъждат тук. Zend_Captcha_Image_source

Подкрепете проекта - споделете линка, благодаря!