Captchа - це капча

"Так само, як всі,« капча »,« капча »,
Я по Мережі ходжу, ходжу,
І у неї, «капча», «капча»,
Файлів собі прошу ... "
(Пісенька про CAPTCHА)

Користувачі Інтернету іноді стикаються із запитом "ввести літери-цифри -« капча ».
Наприклад, ви реєструєте свій сайт в Google. Крім URL і короткого опису вашого сайту, вам потрібно - перед завершенням реєстрації - в спеціальне текстове поле ввести цифри, зображені на малюнку.

Або, наприклад, ви намагаєтеся завантажити потрібний вам файл з файлообмінного сервера. Для отримання посилання на файл, як правило, потрібно ввести код, який ви бачите на зображенні, і натиснути кнопку «Далі».

Основна ідея тесту. запропонувати користувачеві таке завдання, яку легко вирішує людина, але яку неможливо (або вкрай важко) вирішити комп'ютера. Як правило, це завдання на розпізнавання зорових образів.

CAPTCHA найчастіше використовується для запобігання використанню інтернет-сервісів ботами, наприклад, для запобігання автоматичної відправки повідомлень, автоматичної реєстрації, автоматичного скачування файлів, автоматичних масових розсилок (спаму) ...

Що цікаво: хоча CAPTCHA призначається для «відсіювання» комп'ютерів, тест проводить також комп'ютер (програма, яка порівнює відповідь з правильним).

варіанти CAPTCHA
У найбільш поширеному варіанті CAPTCHA від користувача потрібно ввести символи, зображені на пропонованому малюнку в спотвореному вигляді (з додаванням «шуму» або напівпрозорості).
Рідше застосовуються CAPTCHA, засновані на розпізнаванні мови (як альтернатива для людей з порушеннями зору).

Можуть також застосовуватися інші погано алгоритмізуються, наприклад: дізнатися, що знаходиться на картинці, відзначити всі картинки з тваринами або відповісти на питання, пов'язане зі знаннями або менталітетом людей (наприклад, «Скільки ніг у курки?» Або «Як звуть українського президента? »).

Уразливості захисту CAPTCHA
При недостатній кваліфікації веб-програміста ботнет може пройти тест CAPTCHA, без розпізнавання зображених символів і картинок. В цьому випадку бот або підміняє ідентифікатор сесії, або з якої-небудь інформації, що міститься на веб-сторінці, визначає, що зображено на картинці.

Якщо кількість варіантів відповідей невелике, ботнет може спробувати вгадати відповідь. Боти використовують кілька паралельно виконуються потоків, завдяки чому продуктивність бота залежить тільки від смуги пропускання, відданої йому в розпорядження.
Якщо користувач має впізнати картинку або відповісти на питання, ботнет може спробувати якимось чином зібрати базу даних всіх наявних картинок (питань).

Існують програми, що розпізнають конкретні реалізації CAPTCHA, наприклад, PWNtcha. Крім того, існує можливість підключати модулі програм розпізнавання тексту (наприклад, FineReader) в програми для розпізнавання «картинок» CAPTCHA.

CAPTCHA розрізняють за ступенем захисту: «сильна» CAPTCHA і «слабка» CAPTCHA. У числі «слабостей» - чіткий фіксований шрифт, фіксоване положення символів, відсутність спотворень, відділення символів від фону з використанням колірного ключа або розмиття по Гауса, легке відділення символів один від одного і т.д.

Іноді буває, що «сильна» CAPTCHA виявляється труднораспознаваемой і для людини. Іноді зустрічається CAPTCHA, легко прочитується комп'ютером і нечитабельним людиною (наприклад, CAPTCHA з сильно розмитою або неконтрастною картинкою).

Незважаючи на все перераховані уразливості, CAPTCHA-захист популярна в Інтернеті!

Якщо ми проходимо CAPTCHA, значить, ми не роботи і "не боти"!