Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
if($_POST['captcha'] == $_SESSION['captcha']) return true;

Не просите ввести капчу, если вы уже убедились, что перед вами человек. Тут однако, надо быть осторожным, чтобы форму нельзя было использовать скриптом неограниченное число раз после однократного ввода капчи человеком.
Пример: форма регистрации. Если я где-то регистрируюсь, и забыл ввести поле «почтовый индекс», но правильно ввёл капчу — не надо показывать мне новую. Потратьте 10 минут на то, чтобы сохранить где-то у себя, что вот эту конкретную форму сейчас пытается заполнить живой человек. Ваши десять минут сэкономят многие часы человечеству.
— использование CSS или JS капчи (генерация картинки при помощи кучи div с позиционированием, либо с использованием canvas)
и так далее.
captcha = br.webframe.findFirstElement('img#captchaImg')
captchaCoords = captcha.geometry().getCoords()
br.snapshot(captchaCoords).save('captcha.png')
Как это работает: CAPTCHA