Разрабатывая блог для сайта наткнулся на проблему защиты от ботов.Основной механизм, который сейчас используется в анти-бот фильтрах - CAPTCHA. Как правило, пользователь вводит текст с картинки или выполняет какие-то несложные операции и вводит их результат. И все бы хорошо, только существует много способов обойти эту защиту: от программ по распознаванию образов до ручного распознавания, когда пользователи других ресурсов выполняют распознавание картинки вашего сайта, чтобы получить доступ к ресурсу (Captcha Exchange Server). Сейчас я приведу несколько советов, которые помогут повысить сложность подбора и взлома ресурсов с использованием CAPTCHA. Далее под сессией я буду понимать создание пары образ (картинка) и ключ.
1)Создавайте сессию CAPTCHA как можно позже. Можно при нажатии на кнопку "отправить" на клиентской стороне показывать форму "анти-бот" защиты и только в этот момент генерировать картинку.
2)Время сессии делайте меньше. Сколько нужно пользователю, чтобы ввести 5-6 символов? Ведь вся форма уже заполнена и пользователь "морально" уже готов к её отправке.
3)Новый запрос к картинке - новая сессия. Схема очень простая, но эффективная.
4)Создайте задачу выделения в образе областей. Очень эффективный метод. Как вариант, нарисуйте текст с заданием "Сколько будет 24+19 ?" или разными цветами "Напишите все красные буквы".
5)Разделите образ на несколько частей. Например, сложить цифры на двух картинках.
6)Сложность распознавания текста. Тут главное не перестараться.