![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| ЖанКефир |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 29.6.2005 Где: Москва Репутация: нет Всего: нет |
Стоит такая задача:
Нужно реализовать систему защиты от множественной регистрации программами-роботами. Я вижу 3 варианта решения: 1. Сделать ограничение на одну регистрацию с одного IP в день. А если много пользователей находятся за прокси, у них один на всех IP? А если это анонимная прокси? Не подходит. Или есть решения? 2. Сделать подтверждение по e-mail. Не хочется напрягать пользователей, которые не любят залезать в почту и подобные подтверждения. Сам был таким, будучи новичком-любителем в Интернете. 3. Сделать поле "Введите код на картинке". Наверно самый разумный вариант. Собственно по нему вопросы: А. Как это работает? Б. На сколько он хорошо выполняет функцию защиты от роботов? В. На сколько хорошо работает, если код будет не на картинке, а простым текстом? Г. И главный вопрос: как это реализовать? Жду ответов. |
|||
|
||||
| Bikutoru |
|
||||||||
|
Увлекающийся ![]() ![]() Профиль Группа: Участник Сообщений: 522 Регистрация: 24.5.2005 Где: Москва Репутация: нет Всего: 22 |
Рандомом генерится несколько цифр. У тебя есть картинка-фон, картинки-цифры. Создаёшь новую картинку, накладываешь на неё фон, цифры (но не в ряд, а с отступами вверх-вниз и под углом) и выводишь готовую картинку пользователю.
Робот должен проанализировать картинку и узнать число. Это упирается в распознание текста. Учитывая то, что есть неоднородный фон, а цифры под углом друг к другу и не в одну линию, задача становится достаточно сложной.
Будет очень ненадежно - можно будет взять число, используя регулярные выражения.
С использованием библиотеки gd и сессий. -------------------- Человек, словно в зеркале мир — многолик, Он ничтожен — и он же безмерно велик! Омар Хайям |
||||||||
|
|||||||||
| ЖанКефир |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 29.6.2005 Где: Москва Репутация: нет Всего: нет |
А как потом проверить правильно ли пользователь указал этот код? Где он будет храниться что робот не сможет его найти, но веб-служба сможет его взять и сопоставить? |
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 4 Всего: 53 |
в сессии |
|||
|
||||
| ЖанКефир |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 29.6.2005 Где: Москва Репутация: нет Всего: нет |
Точно! Спасибо! |
|||
|
||||
| oksale |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 17.6.2005 Где: Санкт-Петербург Репутация: нет Всего: 9 |
Если еще актуально, здесь пример реализации.
--------------------
WBR, oksale |
|||
|
||||
| ЖанКефир |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 29.6.2005 Где: Москва Репутация: нет Всего: нет |
Да, с примером даже лучше! Спасибо!
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Для профи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |