и как же быть?как защититься от спама?
Ну решений может быть множество, начиная с ручной модерации объявлений.
1. Блокируйте спамеров через .htaccess, о чём я уже говорил.
2. Напишите скрипт, который бы перемещал все объявления, в которых не заполнены определённые поля, в отдельную папку под названием "Спам" либо удалял их.
3. Установите нормальную каптчу.
4. Сведите к минимуму использование JavaScript для проверок или делайте форму размещения полностью на нём, чтобы кнопочку "Разместить" не могли нажать те, у кого в браузере отключена поддержка JavaScript.
Быть может, есть какой-то ещё вариант развития событий, это, думаю, самое элементарное, что можно сделать.
Самым популярным действием, на которое способен мозг современного разработчика, является, наверное, последний пункт - реализация формы размещения полностью на JavaScript. Однако как мне, так, думаю, и многим-многим этот способ придётся не по душе лишь потому, что поддержка JavaScript у многих может быть просто-напросто отключена + современные технологии требуют новых версий браузеров, а значит, им будет недоступно размещение объявлений. В добавок, написать полностью рабочее решение на JavaScript, как видно по многим сайтам (в том числе и по функциональности социальной сети "Вконтакте"), не под силу даже программистам самых популярных интернет-компаний.
В общем, я не знаю, что конкретно посоветовать/предложить, каждое из мною предложенных решений имеет свои недостатки.
Почему, кстати, не желаете остановиться на ручной проверке всех объявлений или установить старые версии компонента? У меня в 2.1.9 (вроде, такой версией пользовался) проблем со спамерами не было никаких, хотя сайт на этой версии проработал больше года - без CAPTCHA, без блокировок, с ТИЦ и размещением порядка 800 объявлений в месяц. Быть может, только потому, что ориентирован был на Россию...