
24.02.2008, 16:57
|
|
Постоянный
Регистрация: 11.10.2007
Сообщений: 406
С нами:
9780227
Репутация:
1423
|
|
Вот такого типа хорошие капчи
Сайт разработчиков системы генерации таких капчей http://ocr-research.org.ua/teabag.html
Вобще там на сайте много чего интересного можно почитать. Например это List of weakness
Интересная идея представлена здесь http://marss.co.ua/en/TestImageBasedCAPTCHA.aspx - дается картинка, нужно кликнуть там, где изображение искажено. На сайте можно найти описание метода, и готовый генератор. Советую обратить внимание.
--------------------------------------------------------------------------
А вот инфа по различным реализациям капчей на основе изображений.
PIX CAPTCHA от университета Carnegie Mellon - так называемая капча с использованием именованных изображений (naming images CAPTCHA) - пользователь видит несколько картинок и должен выбрать слово, которое подходит по смыслу всем показанным изображениям. Главная проблема этого типа капч в ошибках при написании слова-ответа и в словах-синонимах (например: собака, пес и т.п.) В данном примере это решается выбором варианта ответа из наперед подготовленного списка.
KittenAuth от Оли Варнера (Oli Warner) - для того, чтобы доказать свою "человечность" посетитель должен выбрать изображения всех животных определенной породы среди предложенных. К сожалению, ограниченное количество изображений позволяет воссоздать набор картинок вручную.
Asirra от Microsoft - в общих чертах похоже на KittenAuth - пользователь должен различить кошек от собак, но, поскольку оперирует большим количеством упорядоченных изображений (фотографии бездомных животных со специализированного сайта), то воссоздание базы изображений с целью взлома невозможно.
IMAGINATION (_http://infolab.stanford.edu/~wangz/project/imsearch/IMAGINATION/ACM05/datta.pdf) - капча, которая проходится в два шага. На первом этапе пользователь кликает по картинке, которая собрана из нескольких изображений и выбирает одно из них. На втором этапе загружается выбранное изображение, увеличенное, но очень искаженное. Также загружаются варианты названия того, что изображено на картинке, и пользователь должен выбрать правильный ответ из списка.
------------------------------------------------------------------------
А вот капча е-голд

Последний раз редактировалось ElteRUS; 24.02.2008 в 17:31..
|
|
|

24.02.2008, 17:43
|
|
Участник форума
Регистрация: 10.01.2006
Сообщений: 193
С нами:
10701583
Репутация:
81
|
|
Если скрипт каптчи сам определяет правильность ответа производя собственные расчет, а не беря данные из бд, то какие проблемы сделать тоже самое боту?! Идея - бред
PIX CAPTCHA от университета Carnegie Mellon - так называемая капча с использованием именованных изображений (naming images CAPTCHA) - пользователь видит несколько картинок и должен выбрать слово, которое подходит по смыслу всем показанным изображениям. Главная проблема этого типа капч в ошибках при написании слова-ответа и в словах-синонимах (например: собака, пес и т.п.) В данном примере это решается выбором варианта ответа из наперед подготовленного списка.
На выбор около 100 ответов... Кто будет выбирать?
|
|
|

24.02.2008, 17:56
|
|
Участник форума
Регистрация: 10.01.2006
Сообщений: 193
С нами:
10701583
Репутация:
81
|
|
Я вообще против сложных каптч, но в теории можно найти банк картинок с несколькими миллионами изображений и ключевыми словами к ним. Вытянуть картинки и добавить в свою бд ответы... Минусы:
некоторые картинки могут быть неочевидны. Пример: 
эта картика была выведена в одном банке изображений по запросу "email"
если взломщик узнает какой банк картинок вы используете, никто ему непомешает взять все картинки оттуда и сравнивать их теми, что выводит ваш скрипт...
|
|
|

24.02.2008, 18:02
|
|
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
С нами:
10169427
Репутация:
589
|
|
Есть еще один способ защиты от спамоботов - переменные названия полей ввода.
Т.е. мы имеем форму, допустим, с 2 полями, для имени и для сообщения:
Код:
Ваше Имя:
<input type="text" name="UserName" value="" />
Ваш текст:
<input type="text" name="Post" value="" />
Такая постановка вопроса боту очень даже удобна.
Но что он скажет на такую вот форму:
Код:
Ваше Имя:
<input type="text" name="eyWUpIFC6J1JcHPYWQLd" value="" />
Ваш текст:
<input type="text" name="qgyoPxauUq8tQEXxpUer" value="" />
В этом случае имя поля ввода генерируется случайным образом при каждой выдаче формы пользователю (или при получении данных из формы от оного, для экономии ресурсов), хранятся в сессии и ждут получения данных пользователя.
Но есть "но":
Легко вытянуть имя поля, зная контекст его использования.
Благо эту ситуевину можно решить, используя JavaScript/AJAX
Еще одно но в плане юзабилити:
Все автодополнения в браузерах идут лесом, т.к. они привязываются к имени поля.
Как еще одно звено в защите можно использовать проверку времени заполнения формы, т.е. разницу между ее выдачей юзверю и получением данных.
// Вряд-ли живой человек сможет написать пост на форум/коммент в блог за 5 секунд, а вот боту пыл поубавит.
Еще сильный ход - отказаться от проверок во время отправки сообщения, а направить все силы на защиту от регистрации "неживого населения" на сайте, ессно при этом всем незареганным пользователям права ReadOnly.
|
|
|

24.02.2008, 18:09
|
|
Участник форума
Регистрация: 10.01.2006
Сообщений: 193
С нами:
10701583
Репутация:
81
|
|
Сообщение от Helios
Т.е. мы имеем форму, допустим, с 2 полями, для имени и
[...]
Такая постановка вопроса боту очень даже удобна.
Но что он скажет на такую вот форму:
[code]
Ваше Имя:
<input type="text" name="eyWUpIFC6J1JcHPYWQLd"
Читай один из моих предыдущих постов
Благо эту ситуевину можно решить, используя JavaScript/AJAX
Решение в студию!
[quote]
Как еще одно звено в защите можно использовать проверку времени заполнения формы, т.е. разницу между ее выдачей юзверю и получением данных.
// Вряд-ли живой человек сможет написать пост на форум/коммент в блог за 5 секунд, а вот боту пыл поубавит.
Это тебе о чем-то говорит?
http://www.php.net/manual/en/function.sleep.php
Я использовал подобное решение пока один му... это не просек
|
|
|

24.02.2008, 18:20
|
|
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
С нами:
10169427
Репутация:
589
|
|
Это тебе о чем-то говорит?
http://www.php.net/manual/en/function.sleep.php
Я использовал подобное решение пока один му... это не просек
Сравни скорость появления таких постов с задержкой и без оной. Хоть мелкая, но победа.
А что решать-то?
Простейший скрипт, который меняет имена полей ввода, согласно указанному при генерации их названий порядку.
Как усложнение жизни бота, код ентот вполне можно получать через AJAX, объединив работу mod_rewrite и еще пары переменных (код каждый раз по новому url-у).
Или сделать целую подборку скриптов, которые тасуют поля по разным алгоритмам, получая на входе все тот-же ключик.
|
|
|

24.02.2008, 18:34
|
|
Участник форума
Регистрация: 10.01.2006
Сообщений: 193
С нами:
10701583
Репутация:
81
|
|
Сообщение от Helios
Сравни скорость появления таких постов с задержкой и без оной. Хоть мелкая, но победа.
Я в своих скриптах использую блокировку отправления которая равна трем секундам. За три секунды реальный юзер может исправить в форме если первично что-то ввел неверно и нажать кнопку submit... С задержкой три секунды бот отправит 20 в сообщений в минуту. Если ставить блокировку более трех секунд, ты введешь реальных юзеров в недоумение... Такую защиту можно использовать вместе с каптчей в любом случае
А что решать-то?
Простейший скрипт, который меняет имена полей ввода, согласно указанному при генерации их названий порядку.
Как усложнение жизни бота, код ентот вполне можно получать через AJAX, объединив работу mod_rewrite и еще пары переменных (код каждый раз по новому url-у).
Или сделать целую подборку скриптов, которые тасуют поля по разным алгоритмам, получая на входе все тот-же ключик.
Смысл в том, что бот увидев искомое слово "Ваше имя" (или его вариации если стоит ротатор), будет искать ближайшее поле для ввода текста и брать оттуда значение аттрубита name. Зачем ajax? Конечный html код будет иметь <input ...> в любом случае
Последний раз редактировалось George767; 24.02.2008 в 18:37..
|
|
|

24.02.2008, 18:22
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
С нами:
10489346
Репутация:
1403
|
|
Хотя насчет анимированой капчи тоже не вариант =\
Достаточно обработать один кадр, чтобы распознать
|
|
|

24.02.2008, 18:24
|
|
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
С нами:
10169427
Репутация:
589
|
|
Сообщение от bul.666
Хотя насчет анимированой капчи тоже не вариант =\
Достаточно обработать один кадр, чтобы распознать
Не факт, что на одном кадре должны быть все цифры. Точнее, факт, что быть не должно
|
|
|

24.02.2008, 18:28
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
С нами:
10489346
Репутация:
1403
|
|
Тогда разюить картинку на кадры и каждый обрабатывать
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|