В целом механизм работы ботов довольно прост и любые капчи ими обходятся на ура, поэтому картинки не спасают от спама. В общем случае бот действует следующим образом:
1) Сканирует страницы по всему интернету и находит в них все формы.
2) Если в форме присутствует картинка - обновляет страницу и проверяет, не изменилась ли она с предыдущего раза.
3.1) Если изменилась - сохраняются поля формы вместе с самой картинкой и отправляются в специальный сервис, где живые люди (колотильщики) вбивают код с картинки и как только она вбита бот отправляет полученную форму на сайт.
3.2) Если не изменилась - то бот просто отправляет форму и по сути просто спамит на вашем сайте, преследуя разные цели, о которых зачастую можно только догадываться.
Суть обновления заключается в том, что теперь мы модернизировали саму форму таким образом, что для того чтобы бот смог спамить на вашем сайте - его нужно написать руками специально под ваш сайт, что зачастую экономически не выгодно, да и совершенно не интересно разработчикам работающих на других языках. Собственно вот несколько препятствий, которые боты пока не научились обходить, благодаря чему все мы можем спокойно работать:
- В форме присутствует поле, которое заполняется на javascript-е, для 99% ботов Javascript просто не выполняется, поэтому когда мы при получении формы видим не заполненное поле - понимаем что это был бот. Адекватных людей ходящих по сайтам без JS, я в свой практике не встречал, так что мы их так же считаем ботами, в интернете счётчики говорят что таких людей не более 1%, но мы убеждены что это всё-таки боты
- В форме присутствуют скрытые поля, не видимые посетителю. Здесь наоборот - если бот видит поле он в него хочет вставить какой либо текст, иначе зачем он эти формы собирает, в итоге промахивается заполняя не видимые людям поля - на этом этапе мы его и вычисляем.
- Все поля в форме зашифрованы, так что бот когда собирает форму не знает какое сообщение нужно запихнуть, где email, где обязательно поле, где текст. Это можно определить опять же только визуально, либо с некоторой процентной вероятностью. Без точного определения полей, которые нужно заполнить бот нарывается на фильтр №2
- Все поля при каждом обновлении страницы генерируются заново, так что запомнить что где находится боту не представляется возможным. Это можно сделать лишь интелектуальным анализом положения полей, написанием спам бота непосредственно под ваш сайт, что делать никто не будет
- Ну и наконец если кто-то всё-таки написал под ваш сайт интеллектуальный парсер и на сайте начинается жуткая активность, в плане создания новых непонятных отзывов - их число выбивается из среднесуточного по сайту за похожий день на порядки, а так же если у этих отзывов много признаков спама (процентное соотношение текстов не сильно отличается друг от друга, используются не верные языковые конструкции, такие как 3+ согласных вподряд или 4+ гласных, слова пишутся "ВеРбЛюДоМ", язык слов отличается от языка на самом сайте, имеются bb коды, ссылки, контактные данные, бот натыкается на другие логические фильтры), то добавление сообщений блокируется по IP и в критических случаях по атакованному сайту.
Если же заметите, что кто-то начал-таки каким-то образом пролезать - напишите нам, мы заткнём его лазеечку