Captcha

Captcha

Капча (от CAPTCHA — англ. Completely Automated Public Turing test to tell Computers and Humans Apart — это полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей) — компьютерный тест, проверяющий является ли пользователь системы человеком или компьютером.

Термин CAPTCHA появился в 2000 году. Основная идея теста: предложить пользователю такую задачу, которая с лёгкостью решается человеком, но крайне сложна и трудоёмка для компьютера. По состоянию на 2013 год, примерно 320 миллионов «капчей» вводится каждый день пользователями по всей планете.

Пользователь вводит символы, изображённые на рисунке (зачастую с добавлением помех или полупрозрачности), но так, чтобы было очень затруднительно машинное распознавание текста. По общепринятым нормам доступности интернета для людей со слабым зрением, такая капча должна дополняться вариантом, основанным на распознавании речи (аудио-капча). Также есть капчи, где нужно выбрать правильную картинку из списка.

Два главных свойства капчи

Любая капча должна обязательно обладать этими свойствами. Иначе она не будет функционировать.

  • Устойчивость к распознаванию — свойство, защищающее капчу от распознавания алгоритмом — например системой распознавания текста. Гарантирует то, что человек сможет прочитать текст на картинке, а компьютер нет. Антипример: стандартная капча форумов phpBB 2.x таким свойством не обладала — из-за относительной простоты распознавания появились скрипты, которые спамили все подряд форумы вынуждая веб-мастеров менять капчу на более стойкую.
  • Устойчивость к угадыванию — свойство капчи, не позволяющее угадать её значение за небольшое число попыток (менее 1000). Если набор возможных значений капчи невелик, программе не составит труда угадать её подбором вместо распознавания. Антипример: арифметическая капча вроде «1+2» (перебор чисел от 1 до 20 в скором времени даст результат). Антипример: выбрать из нескольких картинок ту, на которой изображён котик.