Показать сообщение отдельно
Старый 13.02.2011, 15:22   #1
crus
Member
 
Регистрация: 10.01.2011
Сообщений: 56
Post Система Captcha

CAPTCHA (от англ. «Completely Automated Public Turing test to tell Computers and Humans Apart» — «полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей») — товарный знак Университета Карнеги-Меллона, в котором разработали компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. В Рунете часто транскрибируется как «капча». Термин появился в 2000 году. Основная идея теста: предложить пользователю такую задачу, которую с лёгкостью может решить человек, но которую несоизмеримо сложнее решить компьютеру. В основном это задачи на распознавание символов.

CAPTCHA чаще всего используется при необходимости предотвратить использование интернет-сервисов ботами, в частности, для предотвращения автоматических отправок сообщений, регистрации, скачивания файлов, массовых рассылок и т. п.

Варианты реализации:

В наиболее распространённом варианте CAPTCHA от пользователя требуется ввести символы, изображённые на предлагаемом ему рисунке (как правило, в искажённом виде, иногда с добавлением помех или полупрозрачности).
Реже применяются CAPTCHA, основанные на распознавании речи (в основном — как альтернатива первому варианту для людей с нарушениями зрения).
Могут также применяться другие плохо алгоритмизуемые задачи, например: узнать, что находится на картинке, отметить все картинки с кошками или ответить на вопрос, связанный со знаниями или менталитетом людей (например, «висит груша, нельзя скушать»).
Встречаются CAPTCHA, где предлагается ввести ответ на простое арифметическое действие.
Разработана технология Video-CAPTCHA, в которой фон и символы, которые необходимо распознать, постоянно двигаются.

Угадывание:

Если количество вариантов ответов невелико, компьютер или ботнет может попытаться угадать ответ. Например, если задача — среди 10 картинок отметить животных, получается всего 2[10]=1024 варианта ответа. Значит, в среднем один из 1024 запросов пройдёт CAPTCHA. То есть, даже при производительности 1 запрос в секунду (реальное значение, например, для ADSL) можно производить 86400/1024 ≈ 84 успешных запроса в сутки. Боты используют несколько параллельно выполняющихся потоков, благодаря чему производительность бота зависит только от полосы пропускания, отданной ему в распоряжение.



Код:
Пример CAPTCHA с уязвимой защитой

Предположим, картинка с цифрами «1234» вызывается кодом

<img src="/captcha.php?code=1234" />

Вместо того, чтобы проходить CAPTCHA, бот считывает URL и вводит ответ 1234.
crus вне форума   Ответить с цитированием
13.02.2011, 15:22
Техник
реклама
Post Система Captcha