Бих обмисли възможността за използване 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