На любую популярную капчу и защиту (даже очень крутую) найдется своя отвертка
Любая нестандартная защита (даже будучи не очень сложной) сможет эффективно защищать свой сервис (меняясь время от времени)
у меня была одна идея: рисовать простейшие буквы разноцветными div с наложением друг на друга через z-index…
но пока не попробовал не могу ручаться за эффективность или оценить идею
как она вам? хотя бы сам принцип разноцветных дивов наложенных друг на друга в таком порядке чтобы в итоге пользователю была видна определенная информация.
я скорее любитель, но насколько знаю, спамеры не гнушаются снимать «скрин» капчи перед ее распознаванием, соответственно, я не понимаю смысл, гемороиться со слоями, так как спамер увидит то же что и пользователь… :(
это легко когда знаешь что скринить
можно постараться сделать так чтобы не было возможности точно определить где начинается капча, а где идут ложные дивы
понятие растяжимое, фишка в том, что у обычной капчи почти всегда есть вычисляемый размер, а у разметки его быть не может, поскольку неизвестно входит ли этот див в капчу или не входит. Фоном может служть как Body так и мелкий див, а может и див на пол страницы…
а вообще, неплохо бы напрячься всем хабра-сообществом да и выкатить антиспам-библиотеку от Хабра
я бы к примеру, мог бы взяться за портирование на jQuery, кто-нибудь prototype сделал или еще какие версии
был бы видимый толк от сообщества
это несколько затратнее, неизвестно где делать скрин, в каком месте
можно сделать дивы ловушки, ложные дивы
можно рендерить сумасшедшие буквы
все равно. мне кажется, это лучше чем готовое для анализа изображение
в любом случае, это была та самая идея, которую вы просили :)
в смысле, когда будут пытаться атаковать именно ваш ресурс
подберут шаблон вашей текстовой капчи, и будут легко решать ваши несложные уравнения
даже если вы сделаете 100 разных вопросов, все равно они все скорее всего будут распознаны
Novikov, а вы знаете как работают спам-боты и прочие спамерские программулины? Чтобы успешно бороться со спамом надо знать как работает технология ;) Я вот все подумываю статью об этом написать да руки никак не доходят…
Ок. Тогда раз уж такой вопрос поднялся я постараюсь в течении пары дней как-то скомпоновать свои знания по этой теме и оформить в статью. Вдруг чем-то помогу :-)
А если проверять, к примеру, события типа onMouseOver? Редкий юзер не проведет мышкой над документом перед тем, как че-нить написать… Правда, остается вопрос насчет без-JSских пользователей, но все же
Повторит как? Ну не сможет клиент провести над определенным блоком мышью, а бот смог. Тут его и поймать. Заставить бота сделать лишнее, а не повторить — вот в чем цель.
бот просто не станет ничего проводить, прикинувшись клиентом без мыши :)
если серьезно, все равно наверняка можно будет проанализировать какие блоки смогут генерировать события, а какие — нет
Если спамбот научится полностью повторять/эмулировать действия юзера — он станет юзером.
В нашем случае — надо найти 10 отличий. Чем более разнообразными станут вариации (разные имена блоков, скриптов JS, классов CSS и т.д.), тем сложнее спам-машине все это переварить и распознать.
мне кажется, что раз уж и распознавать картинки уже научились, то повторить банальные действия на стороне клиента для спам ботов это как два байта переслать — главное знать алгоритм проверки. поэтому к вам не прорвуться, пока алгоритм проверки человечности в вашем исполнении не будет реализован ботописцами.
Еще пара идей. Сделать такую штуку, которая будет спрашивать, например, как зовут автора блога и подобные специфичные вопросы именно для данного блога задавать.
Еще идея — стандартный тест 1+2= поменять на «Сколько ног у двух трехногих собак?» :)
или «Сколько пальцев на 3 руках» или «Ваня купил три яблока, а одно съел, сколько осталось яблок?».
Поможет еще и от тупиц, да и убогие мудофилы, набивающие каменты через спам-биржи, тоже зависнут и ребутнутся :-)
А если «сколько пальцев на руке?» — и картинку из фильма «Брюс Всемогущий», где он с семью пальцами :)
И вообще — смогут ли боты подсчитать количество элементов на картинке?
очень проблематичны становятся капчи, где приходится использовать тот или иной язык, латиница есть на всех компах которые смогли набрать твой урл :), а вот знанием языка люди обладать не обязаны, то есть если это исключительно национальный рессурс, то решается много проблем, а вот…
Если постер из далекой Индии не сможет прочитать текст перед тем, как зафигарить очередную пару урл-камент, то это можно считать дополнительным механизмом защиты :-)
У Марка Шагала есть такой автопортрет с семью пальцами на руке. Причём, когда его спросили, «почему именно семь», он не смог ответить ни-че-го :)
— С картинками проблема одна — общая. Их нужно готовить вручную, иначе — достаточно пересмотреть все картинки, сделать детектор «какая из», и отвечать на вопросы автоматически станет очень просто…
Динамически генерировать ID полей вряд ли получится, вордпресс к нему привязывается. Пример
<input type=«text» name=«author» id=«author» />
Как только вы поменяете айди, форма перестанет работать.
В то же время, если в wp-includes подправить пару строк, то можно перенастроить нужный айди.
Я далек от темы спама по блогам, но складывается ощущение, что практически все автоматические комменты — это просто прямые запросы. Я уже давно поменял у себя ID — на ботов жалоб нет вообще.
Мне кажется, что можно подвесить свою функцию на фильтр, который будет принимать зашифрованные айди полей, а передавать дальше другим функциям движка уже расшифрованные.
Это не лечит проблему, если теория с прямым запросом верна. В этом случае робот как бы не заполняет форму комментариев в нашем привычном понимании. Он сразу сообщает движку комментарий — мол, получите, распишитесь, я это написал вон к той записи. И в этом запросе он как раз и сообщает все те ID, которые даны по умолчанию.
Приведенный вами фильтр включится до этого запроса, и закончит свою работу тоже до. И никак не помешает.
Если у вас есть блог, куда приходит много автоспама, то можно проверить мой метод. А то у меня проверять практически негде.
Обсудим методы борьбы с автоматическим спамом?