| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Поле "Введите код на картинке" в форме регистрации |
| Автор: ЖанКефир 21.7.2005, 18:32 |
| Стоит такая задача: Нужно реализовать систему защиты от множественной регистрации программами-роботами. Я вижу 3 варианта решения: 1. Сделать ограничение на одну регистрацию с одного IP в день. А если много пользователей находятся за прокси, у них один на всех IP? А если это анонимная прокси? Не подходит. Или есть решения? 2. Сделать подтверждение по e-mail. Не хочется напрягать пользователей, которые не любят залезать в почту и подобные подтверждения. Сам был таким, будучи новичком-любителем в Интернете. 3. Сделать поле "Введите код на картинке". Наверно самый разумный вариант. Собственно по нему вопросы: А. Как это работает? Б. На сколько он хорошо выполняет функцию защиты от роботов? В. На сколько хорошо работает, если код будет не на картинке, а простым текстом? Г. И главный вопрос: как это реализовать? Жду ответов. |
| Автор: Bikutoru 21.7.2005, 18:51 | ||||||||
Рандомом генерится несколько цифр. У тебя есть картинка-фон, картинки-цифры. Создаёшь новую картинку, накладываешь на неё фон, цифры (но не в ряд, а с отступами вверх-вниз и под углом) и выводишь готовую картинку пользователю.
Робот должен проанализировать картинку и узнать число. Это упирается в распознание текста. Учитывая то, что есть неоднородный фон, а цифры под углом друг к другу и не в одну линию, задача становится достаточно сложной.
Будет очень ненадежно - можно будет взять число, используя регулярные выражения.
С использованием библиотеки gd и сессий. |
| Автор: ЖанКефир 21.7.2005, 19:00 | ||
А как потом проверить правильно ли пользователь указал этот код? Где он будет храниться что робот не сможет его найти, но веб-служба сможет его взять и сопоставить? |
| Автор: Irokez 21.7.2005, 19:03 | ||
в сессии |
| Автор: ЖанКефир 21.7.2005, 23:03 | ||
Точно! Спасибо! |
| Автор: oksale 26.7.2005, 10:37 |
| Если еще актуально, http://www.codenet.ru/webmast/php/Security-Images-in-PHP/ пример реализации. |
| Автор: ЖанКефир 26.7.2005, 11:28 |
| Да, с примером даже лучше! Спасибо! |