Создание картинки со случайным кодом

Bred Vilchec

Новичок
Yurik
оки, фиксед.
При ФТПированиии скрипт убился до нулевого размера.
Все исправлено, я еще добавил запрет на кэширование.
 

Bred Vilchec

Новичок
Yurik
Отличная идея!

Блин, я даже и не подумал, что можно попробовать распознать картинку хотя бы оффлайновыми OCRами.
Специально поставил FineReader 7.0 PE.:)

Попробовал обработать несколько картинок, с шумовыми точками, линиями и просто с цифрами. Простые цифры без шума распознавались, и то, правда, если выделить блок и указать ридеру, что в этом блоке только текст. Когда добавил незначительный процент шума (2 процента, задается в настройках) ридер уже начал путать одно с другим, распознавание не удалось. Добавление шумовых линий имеет не меньший эффект, ридер глохнет:)

Результат, если честно меня удивил, вот уж не думал, что шум из точек может так запутать рапознаватель, не говоря уже и о линиях.

Спасибо Yurik, теперь знаю куда копать, буду тестить дальше.

-~{}~ 07.02.05 19:00:

Кстати, исходники и кратенький рэдми можно скачать здесь:
www.chdez.com.ru/bred/image.zip

Если найдете баги или сообразите улучшения, пишите сюда или в приват.
 

texrdcom

Новичок
Инетерестно кто с выше писавших пробовал сам отсканировать
рисунок на php.
1) мусор тоесть точнки не помагают они убераються
2) не кто не будет распознавать цифры - или буквы а просто
получит варантов 20 вашего счетчика по убарает с него шумы заливку - сделает чернобелую картику поделит на части
и руками ведет значения для этих часте! перед этим их сравнив и получив уникальные
3) не кто не в жизни не сможет послать refer через header
шлеться в зависимости от запроса get или post (для особо одаренных ищем curl на php)
---
FineReader 7.0 PE - распознает любой счетчик воспользуйтесь функцеей обучения!.
p/s
сначало чем пробовать защищать надо попробовать поломать
:)
 

Bred Vilchec

Новичок
Автор оригинала: texrdcom
Инетерестно кто с выше писавших пробовал сам отсканировать
рисунок на php.
Вероятно, ни у кого нет лишних полгода, если не больше, для написания хорошего OCRа на php.

Автор оригинала: texrdcom
1) мусор тоесть точнки не помагают они убераються
Их легко убрать только если например это черная точка посреди белого фона, а вот белую точку на самой цифре убрать уже сложнее. Точно также и черную точку, касающуюся к цифре убрать программно (чтобы не повредить цифру) наверное невозможно.

2)
Автор оригинала: texrdcom
не кто не будет распознавать цифры - или буквы а просто
получит варантов 20 вашего счетчика по убарает с него шумы заливку - сделает чернобелую картику поделит на части
и руками ведет значения для этих часте! перед этим их сравнив и получив уникальные
не понял, в чем смысл? куда он их введет??. Ну получил я 20 циферок, вручную обработал, и че дальше?

Автор оригинала: texrdcom
FineReader 7.0 PE - распознает любой счетчик воспользуйтесь функцеей обучения!.
Распознает? ну и бог с ним! Пойми, никто файнридер не будет ставить на сервак и натравливать на такие картинки, это чушь. Мы лишь выясняем возможности OCRов (пусть даже не скриптовых), как оказалось, они не такие уж и крутые. Толку натравливать/обучать сам файнридер нет, а вот если кто-нить на скриптовых языках напишет подобное, да еще и с ИИ, памятник при жизни:)

Абсолютно защищенных систем нет, все зависит от того, какой ценой кульхацкеру удастся сломать такую защиту. Вместе с точками и линиями цена очень даже возрастает...
 

texrdcom

Новичок
Абсолютно защищенных систем нет, все зависит от того, какой ценой кульхацкеру удастся сломать такую защиту. Вместе с точками и линиями цена очень даже возрастает...
______________________________________________
Возможно поход радикально не правильнный не надо рисовать кракозябры для роботов вы ведь их и рисуете для нормальных пользователей - возможно есть смысл подумать надо ли такая защита для определеного сайта и если надо
то я думаю при желании её можно обойти!!!
--------------------------------------------------------------------------
Не так сложно оцифровать фото скрипт я написал такой в нем максимум 30 строк в завимости от суммы rgb ставит либо 1 либо 0 - создает текстовый файл в которм весь рисунок превращаеться в рисунок с 0 и 1.
_______________________________________________
После того как мы получили часть картики уникальную мы вручную задаем ее значения что на рисунке например нарисованна 9 и записываем эти значения в файл базу данных и так далее
 

Денч

Новичок
texrdcom
Если честно, я раз восемь перечитал ваш пост, но смысл уловить не мог. Поставьте знаки препинаний где они должны стоять.
 

Денч

Новичок
sakon
Это ты про меня? Мне занятся нечем:( Хандра напала. Вот сижу, читаю темы интересные, мотаю на ус, и время от времени не сдерживаюсь...
 

sakon

П..и.н..ок
Сорри за флейм.
Денч
не про тебя, про того, кто перед тобой.......
 

Bred Vilchec

Новичок
texrdcom
код в студию!
Совсем хорошо было бы если бы ты натаскал свой распознаватель на наши картинки и выложил где-нибудь в сети для тестирования.
 

Screjet

Новичок
Както давно, не помню на каком сайте (на paypal кажишь) долго сидел рассматривал картинку, пытаясь понять, что там написано.. Методом проб и ошибок таки угадал. Вот, где весьма полезна будет такая распознавалка :)

(сорри за оффтоп)
 

texrdcom

Новичок
За знаки припинания эмсори, спешил.
Код не вижу смысла выкладывать (разные люди смогут прочитать а не всем обясниш что такое спам...)- если захотите сами напишите нечего сложного нет.
Я думаю защита рисунками сработает на большенство програмеров а усложнить можно так.
1) Фон для кода сделать различного цвета и менять его каждый раз (сделать 30шт. перемишать генератором имена и выбрать случайный)
2)Цыфры или шрифт подбирать так чтобы они сливались друг сдругом хотябы в одной точке.
3)Наверное подумать как еще можно защититься от спама на сайте, стараться не напрягать пользователей, а то дойдем до того чтобы при входе на сайт будет стоять надпись "а теперь в микрофон продиктуйте ваши паспортные данные :) ".
4) Спамеров надо вычислять по их действиям, если у вас сайт о программах а на форуме какойто не понятный пользователь хочет продать что то не понятное, вот таких пользователей и блокировать (желательно чтобы скрипт не выдавал не каких уведомлений что закрыт доступ а просто игноривал действия от данного пользователя или как на форуме, не добавлял новой темы)
 

lucika

Новичок
Прочитал всю ветку не знаю почему проигнорировали сообщение http://phpclub.ru/talk/showthread.php?postid=405823#post405823
идея не плохая если ее немножко преобразовать,
например, на одной картинке цифры а на другой написано какие цифры нужно выбрать (четные, или первую последнюю).
все это еще перемешать с шумами
сейчас только подумал можно все это вывести на одной картинке, плюс фоном еще кружки и прочее а ниже задание.

PS: объединение всех обсуждаемых здесь способов, может создать много проблем спамерам и прочим
 

Huckster

Guest
Я думаю, что скрипт регистрации должен быть просто пошаговый + страница с граф. кодом. Этап регистрации хранится в сессии. И данные, пока их не утвердили - тоже.

Вот и все. Действующий пример формы можете посмотреть
на http://bisbank.com/register.php

Там вам вся форма поэтапно. И неправильные значения не введешь, и автоматом не зарегишься. Для каждой формы свой уникальный ключ, 2 раза одну и ту же форму не введешь.

-~{}~ 15.02.05 03:37:

P.S. Весь алгоритм здесь не хочу приводить. Очень длинный получился, в основном регекспы...
 

lucika

Новичок
Huckster
а в чем проблема в автоматической регистрации пошаговой формы?
 

Huckster

Guest
Хм.... логично. Если разобраться, то, как сказал кузнец в "Формуле Любви":"Что один человек построил, другой завсегда разобрать может". Но слишком много всего: и парсить форму, которая отдается на следующем шаге, чтобы получить ключи, и картинку распознавать - это, имхо, направленная атака должна быть и сходу не получится.

Что тут еще придумать? Лог надо писать, и банить флудящие ип, хотя бы на время. Так что ли? Еще больше картинки запутывать - ни к чему, это уж точно.
 

stutak

Guest
Ребята!!! Распознать можна всё и всегда(сам когда-то этим занимался). Эсть один хороший вариант:
1)юзер зашол в регистрацию
2)ввёл свое мыло(под мылом картинка с кодом)
3)на мыло пришло письмо: линк на форму регистрации такого типа (http://moy.krutoy.sayt/reg.php?code={а здесь мд5 кода на картинке})
4)форма только просит ввести код с картинки и проверяет его мд5 а дальше смотрит
PHP:
иф(мд5_кода==md5(число юзера))
{
показать_рег_форму();
}
елз
{
фигвам();
};
 

Bred Vilchec

Новичок
ага, а я зайду по такому адресу:
http://moy.krutoy.sayt/reg.php?code={а здесь мд5 от 123}
и введу 123 в форму ввода числа с картинки. И что тогда будет? Будет то, что без всякого распознавания твоя защита будет поломана.
 

Popoff

popoff.donetsk.ua
Автор оригинала: Bred Vilchec
ага, а я зайду по такому адресу:
http://moy.krutoy.sayt/reg.php?code={а здесь мд5 от 123}
и введу 123 в форму ввода числа с картинки. И что тогда будет? Будет то, что без всякого распознавания твоя защита будет поломана.
{а здесь мд5 от (123.<моя-сверх-супер-секретная-строка>)}
:)
 
Сверху