Мой сайт о WordPress и PHP
 
24 марта 2007

Плагин Anti Spam Image. Новый подход

Читали 9402 раза
Рубрика: Плагины и хаки
Навигация: Главная » WordPress » Плагины и хаки

Для защиты от автоспама используются различные способы, один из которых - специальная картинка, на которой изображен код, который нужно вручную повторить в специальном поле.

В моей сборке WordPress уже есть такой плагин - «Anti Spam Image» и многие его используют. Однако, существуют специальные спамерские программы, которые позволяют определить код на картинке и все-равно автоматизировать отправку спама.

Я решил на базе этого плагина (к сожалению ссылка, указанная в плагине нерабочая), реализовать другой алгоритм антиспама, который многократно усложнит жизнь спамерам.

Вот пример картинки: - этот код нужно повторить в специальном поле. Уверен на 100%, что вы укажете «70с080с9»... и будете неправы. ;)

Правильный код: «7с8с». А все дело в том, что рядом с картинкой я указал комментарий: красные символы (все четные) вводить не нужно. Таким образом, любой, кто не знает этого комментария, обязательно ошибется в повторении этого кода. Очевидно, что спамерская программа, даже если и распознает код, то распознает все символы. ;)

То есть я предлагаю на картинку антиспама вводить дополнительные символы, которые может отфильтровать только человек. Для своего варианта я просто сделал разделение по цветам, но никто не мешает усложнить этот алгоритм.

Думаю, что идея понятна и её можно развить по своему усмотрению (например указать комментарий на китайском, чтобы только китайцы смогли посылать комментарии :razz: ).

Если у вас установлена старая версия плагина, то вам нужно его удалить.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

74 комментария к “Плагин Anti Spam Image. Новый подход”

  1. Оптимизатор:

    Также еще проще можно сделать вот как: ввести простейшую строчку с переменной - например - введите мое имя (все в курсе что maxsite.org - Максим), ну а спаммерский бот естественно, этого не знает.

  2. .flint:

    Также еще проще можно сделать вот как: ввести простейшую строчку с переменной - например - введите мое имя (все в курсе что maxsite.org - Максим), ну а спаммерский бот естественно, этого не знает.

    А почему бы случайному пользователю не подумать, что тут дело не в имени, а в сочетании "максимум" и "сайт"?

    Кстати, у меня уже полгода на ура работает такая система: когда человек впервые комментирует запись, ему на e-mail отсылается просьба подтвердить комментарий. В последующие разы, комментарии добавляются сразу и без проблем: e-mail лежит в базе данных, как безопасный. В общем, немножко неудобный способ, но зато работает только единожды, тогда как капчу нужно подтверждать каждый раз.

  3. Максим:

    Дело в том, что подтверждение по email спамеры обходят уже без проблем.

  4. kibik:

    На картинке не должно быть букв — очень неудобно переключать раскладку.

  5. mekal:

    да да, если зделаешь этот же плагин, но без буков, что-бы ОНЛИ цифры будет гараздо удобней, а то раскладку менять приходится.. а это кумарит, линивые мы :)

  6. Антон Скоробогатов:

    Люди с альтернативным восприятием цвета в расчет не берутся... Жаль... На этой идее можно построить капчу, которая будет отсекать не только ботов, но и ненужных посетителей :) Например, введите 2-й, 3-й и 5-й члены последовательности чисел Фибоначчи :)

  7. Паша:

    А у меня есть другое предлоэжение. Согласитесь, отфильтровывать не так уж и просто. У меня например плохое зрение.
    Почему нелься сделать контрольный вопрос? на yeghbvth 2+2=...
    ??

  8. Максим:

    Раскладка, это дело наживное :) . У меня по-умолчанию английская. :wink:

    По цифрам. Вообще правильный код строится не через rand, а на основе сессии (номер + md5) - из-за этого невозможно сразу же определить будущие символы.

    Паша, можно сделать и по вашему варианту. Есть вариант вообще от кода отказаться, а выводить несколько картинок, на которых коментатор должен будет выбрать, например только кошек. Вариантов много, мой лишь один из возможных. Главное, что он уже рабочий и без проблем устанавливается в WordPress. :roll:

  9. Максим:

    Антон, можно еще указать, что нужно ввести 1-й, 3-й, 5-й и 7-й символы. Я специально сделал между ними такое растояние, хотя символы немного "гуляют".

  10. Peter A. Shevtsov:

    Пишу во второй раз и опять не знаю пройдёт ли мой комментарий -- у меня нарушение цветовосприятия. Так что читайте "Dive into accessibility" Марка Пилгрима и не занимайтесь ерундой!

  11. theUg:

    Есть, вообще, гениальное расширение — Raven’s antispam. Принцип работы такой — если у юзверь агента включен яваскрипт (для удобства также, если зарегистрированный пользователь — проверка не идёт), то сообщение проходит. Если яваскрипт отключен (боты пока без жабаскрипта оперируют), появляется простая текстовая капча. Работает замечательно. Единственное противопоказание — AJAXовые комментарии.

  12. theUg:

    P. S. Ошибочка с тэгом вышла вверху, простите великодушно.

    А насчёт цветов, выбор архизамечательный — краснозелёная дисфункция зрения — самая распространённая (10% мужчин, если я не ошибаюсь). ;)

  13. Русский:

    Отличное решение :) Имхо лушее в этом плане из всех что я нашел для ВП

  14. Saminsky:

    Прошу прощения, за тупость , плагин я поставил, а как поставить кнопочку и капчу в поле комментирования??

  15. Максим:

    Она сама появится. Разлогиньтесь и увидите. :)

  16. :валерча::

    у меня таже проблема, разлогинился, но поле ввода и имейдж не появились...

  17. Murevich:

    спам роботы сейчас уже используют джаваскрипт - по крайней мере обмануть механизм проверки наличия оного они могут.

    почему бы просто не предложить посетителю ввести в поле сегодняшний день недели - т.е. слово "понедельник" "вторник" ... ?

    Введите день недели? и поле для ввода.

  18. Вадим:

    однако плагин, который стоит у Макса отличается от того, что предлагается скачать ))
    где взять с красными/верхними символами? ))

  19. karagodin:

    А как эту картинку выводит в других темах вордпресса? у меня только в дефал-те она появляется, а в других нет. Почему?

  20. Dimox:

    Когда я заменил на одном моем сайта оригинальный плагин данной версией, примерно с неделю или две не было ни одного спам-коммента. Я было уже обрадовался, но вдруг спам стал валиться в еще больших количествах, чем раньше.

    Максим, у вас наблюдается такая же тенденция или обратная?

  21. karagodin:

    2 Dimon: такая же проблема.

  22. Максим:

    У меня количество спама сократилось до нуля. Я, конечно не считаю, тех, кто вручную добавляет рекламу в свои сообщения. Поставьте плагин просмотр спама и сразу увидите на какие адреса он идет. Скорее всего это пинги и тркэкбаки. Отключите их у этих записей.

  23. Mixa:

    А как плагин привязать к коментам? Где код?

  24. Dimox:

    2 Максим: тогда дополнительный вопрос: а есть разница в эффективности самой первой версии вашего плагина и той, которая сейчас выложена? (у меня сейчас стоит первый вариант)

    P.S. За совет по установке плагина просмотра спама спасибо.
    P.P.S. Кстати, и пинги, и трэкбэки вообще отключены.

  25. Максим:

    У меня сейчас вообще последний вариант, который я добавил в сборку WordPress 2.2. У меня спам исчез, как я поставил версию, которая в этой заметке.

  26. Dimox:

    Ясно, спасибо.
    Под "которая сейчас выложена" я как раз имел в виду ту, которая идет в сборке WP 2.2.

  27. Dimox:

    Поставьте плагин просмотр спама и сразу увидите на какие адреса он идет. Скорее всего это пинги и тркэкбаки. Отключите их у этих записей.

    Максим, спешу Вас поблагодарить.

    Действително, оказалось так, как Вы и сказали - установил плагин для просмотра спама, сразу заметил, что весь спам идет через трэкбэки (не у всех записей они были отключены). Как только их отключил везде, спам сократился до нуля!

    Спасибо еще раз!
    Всего наилучшего.

  28. Mixa:

    Блин, я рад, шо здесь все все понимают, но мне может кто-то сказать, как вызывать форму с картинками в шаблоне комментариев?
    На страничке оригинального плагина дают

    ID); ?>

    но с плагином Макса, это, похоже, не работает...
    Я слепой или тупой?

  29. Mixa:

    код не хочет вставляться...

  30. Dimox:

    Чтобы выводилась форма с защитным кодом, в шаблоне комментариев должна присутствовать такая строка:

    ID); ?>

    (без пробела после первого знака)

  31. Максим:

    Просто активируете плагин, он автоматом появляется. Если нет, то проверьте на шаблоне default. Если там работает, значит разбираетесь со своим файлом comments.php

  32. karagodin:

    Макс, а как в версии WP 2.2 отключить трекбэки? Тот твой плагин спрасывает пинги, а как с трекбеками-то быть?

  33. Alex7Kom:

    У меня почему-то изображение генерируется с ошибками, и, следовательно, не отображается... Блог тестирую здесь: http://source-mods.jino-net.ru/blog/
    Что делать?

  34. Максим:

    Может быть на сервере не работает gd-библиотека.

  35. Mixa:

    А єто наверное проблема темы - у меня тоже Фрешли, сначала плагин вообще не работал, на второй день заработал, но выдает вот что http://mixa-blog.org.ua/wc/water-closet.html#respond бред какой-то! И где там символы?
    Короче, есть другие аналогичные плагины?

  36. Di9:

    И у меня тоже не работает картинка, хотя платных хост и всё есть...
    и это на всех шаблонах :lol:

  37. Vselen:

    Поставл щас самый новый вордпресс... плагин работает как ни странно, правдо пришлося подрубить gd-библиотку...

  38. Алексей Новиков:

    У меня капча от плагина AuthImage. Спама нет вообще. От ручного спама спасает настроенный списко стоп-слов для отправки на премодерацию + жесткая политика модерации того, что проскочило.

  39. Женя:

    как так получается что в одном посте имеется защитный код к комментарию, а в другом нет?

  40. kn:

    У меня стоит тема "Vertigo Blue" (3-х колоночная) http://www.briangardner.com/themes
    WordPress 2.2.2 вашей сборки.
    Плагин не работает. Пробовал переключать в default-тему тоже самое. gd-библиотека на сервере работает.
    Помогите пожалуйста разобраться в чем проблема! Очень нужный плагин, а у меня не пашет…

  41. kn:

    Сам разобрался. Но есть следующая проблема: чтобы работал плагин, пришлось снять галку с обязательного входа/регистрации, что привело к тому, что любой может подписаться любым именем... хоть админом, хоть кем угодно...
    Это как-то можно настроить, чтобы нельзя было чужим подписываться никами зарегистрированных на сайте пользователей?

  42. kn:

    И тишина...

  43. Tapac:

    Нашёл альтернативный вариант борьбы со спамом)
    Прочесть можно тут.
    Максим, если идея имеет право на жизнь, то могу попытаться адаптировать AJAX-Comment под твой Anti Spam Image.

  44. Максим:

    Интересно было бы. Только плагин антиспама бери из сборки WordPress - он там обновленный.

  45. Tapac:

    Всё оказалось довольно просто и сейчас у себя в блоге поставил твой плагин антиспама + ajax comment. Можешь там же и оттеститировать, если всё ок, то надо как-то связаться и решить - будешь ты добавлять в свои сборки эти плагины или нет. Тогда я тебе переслал бы и/или пояснил что и где менял.

  46. Максим:

    Работает супер! :cool:

  47. Tapac:

    Вот тут пост и ссылки на модификацию твоего плагина.
    Вся разница в добавленной функции checkCode. Она буквально пара строк, поэтому долго вникать не придётся.

  48. Максим:

    Спасибо, Тарас! Я посмотрю, что там получилось, нужно будет немного потестировать.

  49. Eugeny Prokopyev:

    Интересно x-rumer распознаёт эту капчу.

  50. Вит:

    :sad: не получается установить этот плагин хоть плачь, не отображается он нигде даже будучи загруженным в папку plugins...

  51. Алексей:

    Добрый день!
    Вот собственно вопрос, кто использовал в купе с WP-Postratings 1.20 Русская версия? Рейтинг работает, а вот капча нет - не прорисовывается и не отображается поле ввода... соответственно не работает.
    Если кто сталкивался с подобной проблемой, подскажите ПЛИЗ!) :sad:

  52. Gamer:

    У меня, тезка, та же проблема. Я не понимал почему комментов не оставляют. Сам не видел, что картинки нет, тк залогинен всегда. А оказалось, что она просто не показывается, а когда люди пишут комментарий им выдает, что код введен неверно. Проблему не решил пока.

  53. Алексей:

    Хм... Решилась проблемка с одновременным использованием WP-Postratings и данного плагина следующим образом: в anti_spam_image.php 35 строка, вместо if (isset($user_ID)) { исправил на if ($user_ID) { и все заработало. Еслия я не прав, жду комментариев! :wink:

  54. Gamer:

    Работает! Спасибо!
    Кстати, я заметил, что и до этого картинка появлялась, если проголосовать за пост и обновить страницу. Ну а теперь вообще все в шоколаде :smile:

  55. Andrew:

    Здравствуйте!
    Помогите разобраться.
    Я не силён в PhP, а хотелось бы чтобы плагин антиспам картинки был аналогичен тому, что на вашем сайте. Тот, что предложен для скачивания чрезмерно труден. Плагин выдаёт сложное изображение, его, действительно с первого раза даже трезвый не наберёт.
    Буду признателен за любую подсказку!

  56. Andrew:

    Прошу прощения.
    Я проявил не внимательность. В обновлённой версии вашего «вордпреса» этот плагин то, что надо!
    Спасибо.
    http://maxsite.org/wp-images/smilies/icon_sad.gif

  57. crazyangel:

    А почему плагин может не работать? Стоит у меня такой же как здесь (вводить нижние символы) и упорно валится в первый (слава богу тестовый) пост спам про виагру и валиум-шмалиум. Что делать? Усложнять?

  58. MustLive:

    Обращу ваше внимание на то, что данный плагин имеет Insufficient Anti-automation уязвимость. Которая позволяет обходить капчу. Как и оригинальная версия Anti Spam Image 0.5, на основе которой он сделан.

    Об уязвимости в оригинальной версии плагина я написал в своём Месяце багов в Капчах.

    MoBiC-25: Anti Spam Image CAPTCHA bypass
    http://websecurity.com.ua/1584/

    Уязвимость имеет место на не самых последних версиях PHP (на используемом на данном сайте PHP 4.4.7 она не проявляется). Поэтому пользователям данного плагина (особенно при использовании не самых новых версий PHP) нужно его пофиксить.

  59. Максим:

    Не совсем я уловил в чем проблема этого плагина... Насколько я понял, то в оригинальной версии можно было подставить некое значение securitycode, которое можно использовать несколько раз. В моей измененной версии немного изменен алгоритм именования полей, поэтому он будет уникальным для каждого блога, что уже не позволит автоматически рассылать спам по блогам. Также немного больший диапазон используется для генерации хэша...

    Если дадите ссылку на более подробное описание проблемы (с кодом или профиксенную версию), буду признателен.

  60. St.Lukas:

    А как вам идея об интеракивных антиспам плагинах? С подписью: щелкните на так-то и так-то. Я думаю пользователям понравится, даже собираюсь сделать!

  61. Дмитрий Дианов:

    И все же, какой именно код нужно внедрить в comments.php для включения плагина? У меня тема Blueblog, в нее ничего не внедрилось...

  62. Дмитрий Дианов:

    P.S. на default все нормально.

  63. Лютиков:

    2 Peter A. Shevtsov: same shit :???:

    Цветная капча - зло. Мне приходится копировать картинку в IrfanView, там её увеличивать и рассматривать. Т.к. на мелкой я не могу понять какие символы красные. Кстати, почему цвет, в котором половина синего (#E40078) назван красным?

  64. Вячеслав:

    подскажите, как избавиться от символов типа (!"№;%:?*())?
    а вообще мне понравился вывод как на maxsite.org - дайте настройки или выложите измененный код.

    Заранее благодарю...

  65. Denis:

    Вопрос по прежнему актуалный: как принудительно влючить и выключить этот плагин из темы. Не на всех темах он работает. Прописать код в comments - он работает, убрать код из comments он работать перестает. Есть ли решение?

  66. Олег:

    У меня как-то странно получается в шаблоне... если в single.php перед:

    Идет вызов вывода рейтинга из плагина WP-PostRatings то картинка с кодом не появляется (и поле для ввода кода тоже не появляется).
    Если же убрать код рейтинга или переместить ниже вызова вышеуказанной функции, то появляется картинка с полем ввода кода :shock:

    PS. Скажите, а с WP Super Cache я так понимаю этот плагин работать не будет (там же кэшится все по страшному)?

  67. Олег:

    Сори, почему-то вырезало код, который я имел ввиду вначале, вот он:

    comments_template();

    (т.е. если до него вызывать WP-PostRatings - глючит, после него – не глючит)

  68. Виктор:

    Макс, измени старую картику в сообщении на новую, которая сейчас стоит. Я хочу рассказать читателям своего блога о твоем плагине, пусть будет информация актуальная.

  69. aktuba:

    У меня какая-то не понятная проблема...
    Код капчи выводится 2 раза: над и после формы комментирования.
    С чем это связано и как победить - я так и не понял :sad:

  70. aktuba:

    Думал ссылка будет и не стал ее вводить:

  71. aktuba:

    Мда... delphist.ru - может хоть так отобразиться =(

  72. PaulRUS:

    Я вообще не поддерживаю картинки - каптчи, ибо у некоторых отключен показ картинок, и приходится делать всё через цензура.
    Лучше сделать обычный текст, например сколько будет 2+2 (вместо цифр естественно переменные) - это намного удобнее, да и боты, помоему, заточены именно под картинки.

  73. MVH:

    У меня почему-то изображение генерируется с ошибками, и, следовательно, не отображается...

    Проблема в том, что в начале какого-то файла (скорей всего wp-config.php) втисался BOM. Собственно, надо его убрать (BOM появляется из-за блокнота виндового в основном и т.п. редакторов с плохой поддержкой юникода).

  74. MVH:

    P.S.: что касается плагина, то большим минусом является то, что в случае неверного ввода кода надо возвращаться назад и заново набирать сообщение, т.к. оно не сохраняется.


Оставьте комментарий! (Вы согласны с правилами)

 

:mrgreen: :neutral: :twisted: :arrow: :shock: :smile: :???: :cool: :evil: :grin: :idea: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: :!: :?:

При добавлении кода (html, php) заменяйте < на &lt; и > на &gt;.
Внимание: антиспам - зверь! Копируйте своё сообщение перед отправкой. На всякий случай.