Ars Longa, Vita Brevis

Спаму не место на блоге!

Собрав большую статистику по спам-ботам, я решил несколько видоизменить плагин SJCaptcha — причем в сторону упрощения.

Причин тому несколько:

  1. Проверка FCrDNS оказалась черезмерно эффективной: да, она спасает от спам-ботов. Но, к сожалению, из-за большого радиуса кривизны рук некоторых провайдеров, которые не могут нормально PTR-записи прописать (или поставить им в соответствие A-записи), отсеиваются и вполне нормальные пользователи. Что обидно.
  2. Проверка A и MX-записей доменов, указанных в email, оказалась не очень эффективной: большинство спамеров хотя и используют несуществующие адреса, но указанные домены в природе всё же существуют. К тому же, реализация данной проверки не работает в Windows (особенности PHP)
  3. Собственно CAPTCHA оказалась очень эффективной — все "слишком умные" спамботы срезались именно на ней. К сожалению, при отключенных изображениях или использовании консольных браузеров она бесполезна. А если роль спам-бота играет человек, то она вообще никак помочь не сможет. Увы.

Что получилось в итоге: остался переработанный метод изящного отсеивания спама. Его эффективность на данный момент я оцениваю в 99%: эту защиту обошла всего лишь парочка ботов. Я за ними очень пристально наблюдаю и надеюсь, что смогу найти простую управу и на них.

Бета-версию плагина SJCaptcha Lite для WordPress на свой страх и риск можно скачать отсюда.

Добавить в закладки
  • del.ici.ous
  • Digg
  • Furl
  • Google
  • Simpy
  • Spurl
  • Y! MyWeb
  • БобрДобр
  • Мистер Вонг
  • Яндекс.Закладки
  • Текст 2.0
  • News2
  • AddScoop
  • RuSpace
  • RUmarkz
  • Memori
  • Закладки Google
  • Писали
  • СМИ 2
  • Моё Место
  • Сто Закладок
  • Ваау!
  • Technorati
  • RuCity
  • LinkStore
  • NewsLand
  • Lopas
  • Закладки - I.UA
  • Connotea
  • Bibsonomy
  • Trucking Bookmarks
  • Communizm
  • UCA

Комментарии к статье "SJCaptcha Lite: невидимая защита от спама" (5) »

  1. [Сентябрь 6, 2008 10:51 дп] Vladimir:

    Адреса, с котрых режется больше всего спама:

    118.175.255.10
    192.192.35.235
    202.28.27.3
    202.75.144.62
    203.121.133.22
    213.253.169.130
    217.113.18.130
    218.27.148.66
    62.149.67.49
    78.132.160.116
    80.90.160.45
    82.207.89.105
    83.138.140.52
    83.138.162.78
    85.172.19.238
    89.31.88.150
    92.113.12.41
    92.61.33.82

    Их можно добавить, например, в .htaccess:

    [-]
    View Code Apache configuration
    Order Deny,Allow
    Deny from 118.175.255.10 192.192.35.235 202.28.27.3 202.75.144.62 203.121.133.22 213.253.169.130 217.113.18.130 218.27.148.66 62.149.67.49 78.132.160.116 80.90.160.45 82.207.89.105 83.138.140.52 83.138.162.78 85.172.19.238 89.31.88.150 92.113.12.41 92.61.33.82
    Allow from All
    #1
  2. [Сентябрь 6, 2008 6:23 пп] Максим Покровский:

    Скачал, попробую потестить.

    #2
  3. [Сентябрь 13, 2008 1:19 дп] DimoninG:

    “А если роль спам-бота играет человек, то она вообще никак помочь не сможет” - в этом случае бесполезны все капчи. А по поводу Вашей… В общем, я в капчи мало верю. Только в те, что с изображением. Аксиметы всякие и прочее - это не помогает на 100%, а если не на 100%, то в капче мало смысла.

    #3
  4. [Сентябрь 13, 2008 11:04 дп] Vladimir:

    В подобном поединке “человек - компьютер” компьютер всегда проигрывает. Любую капчу можно расшифровать, было бы желание.

    Только в те, что с изображением

    Когда я использовал SJCaptcha, у меня спама вообще не было. Я знаю слабые стороны этой капчи, но также знаю несколько способов их усиления (на всякий случай). Просто мне неинтересно использовать капчи с изображением и прочим, ибо они отрицательно сказываются на usability. Мне интереснее найти вариант, автоматически отсеивающий хотя бы 98-99% спамеров. Кстати, такой вариант есть — FCrDNS + DNSBL, но из-за большого радиуса кривизны рук многих провайдеров от него будут страдать невинные пользователи.

    Есть, конечно, всякие полумеры типа разрешения комментирования только зарегистрированным пользователем и установкой охренительной капчи на форме регистрации, но опять же, это не наш путь.

    а если не на 100%, то в капче мало смысла

    Не согласен… Проще удалить один-два спам-комментария, чем выгребать их десятками.

    #4
  5. [Сентябрь 13, 2008 11:34 дп] Vladimir:

    Напишу пару идей, может быть, кто-нибудь реализует…

    1. Некоторые спам-боты делают POST, не делая перед этим GET — с ними бороться проще всего (например, метод “изящного отсеивания” здесь дает 100% результат).
    2. Не все боты воспринимают cookies правильно — если задать несколько cookies с одинаковыми именами, но разными путями, некоторые боты воспринимают только последний из них. Надо бы спеки перечитать, убедиться, какая из кук должна посылаться (я считаю, что с наиболее подходящим доменом/путем, но это моё мнение).
    3. Проверить, как спам-боты реагируют на Expect: 100 Continue.
    4. Проверить, как боты парсят форму комментирования: что будет, если создать две формы — невидимую для ботов и видимую для людей?
    5. Попробовать поиграться с именем файла wp-comments-post.php. Например, использовать в форме другое имя, которое будет переписываться через mod_rewrite в wp-comments-post.php с каким-нибудь параметром.
    6. Реализовать кросс-платформеннуюю проверку существования A- и MX-записей почтовых доменов.
    7. Все проанализированные мной спам-боты, загружающие страницу перед оставлением комментария, не загружают ни скрипты, ни графику, ни CSS. Это отличает их от нормальных пользователей. Единственная проблема — как их отличить от пользователей lynx? И загружают ли браузеры мобильных телефонов frame/iframe?
    8. To be continued
    #5

RSS лента комментариев к этой записи. TrackBack URL

Оставить комментарий к записи "SJCaptcha Lite: невидимая защита от спама"

XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Оставляя комментарий, Вы выражаете своё согласие с Правилами комментирования.

Подписаться, не комментируя