Akismet для всех

Сидел вот и решил перевести статью The Best Ways to Fight Spam by Justin Shreve. В ней обсуждаются достоинства и недостатки таких методов защиты от спама, как список запрещённых слов, CAPTCHA, и понятно показывается, как использовать Akismet на своём сайте. Что мне сейчас и надо. Поэтому привожу перевод только части про Akismet.

AkismetAkismet — служба для борьбы со спамом от создателей WordPress. Главное преимущество её в том, что борьба со спамом коллективная.

Akismet может быть интегрирован в любой проект. Для этого вам требуется получить API-key для доступа к интерфейсу. Получить его можно бесплатно для некоммерческого использования, или за $5 в месяц для коммерческого — не так уж и много. Есть много плагинов для работы с Akismet, ссылки на которые даны ниже. А пока посмотрим, как подключить Akismet к собственному проекту.

Добавление проверки коммнетариев на спам от Akismet на вашем сайте

Чтобы получить ключ вам необходимо зарегистрироваться на http://wordpress.com/signup/. API-key не привязан ни к какому конкретному сайту, и вы сможете использовать там, где вам понадобиться.

После регистрации и получения ключа вам потребуется скачать и распаковать себе на сервер PHP5Akismet.0.4.zip (24 КБ) от Achingbrain. По сути вам понадобится только один файл, другие файлы и документация — не нужны для работы.

Итак, у вас есть проект, где пользователи оставляют комментарии, форум или блог. И все у вас уже работает. Теперь нам надо прикрутить к этому Akismet. Подключим нужный файл:

include «path/to/file/Akismet.class.php»;

И запустим, используя адрес нашего сайта и уже полученный ключ:

$akismet = new Akismet («http://mysite.ru», «API-key»); //вставьте ваш API-key

Теперь Akismet должен получить данные, которые нужно проверить. Здесь приведены конкретные примеры, но вам надо будет заменить имя, e-mail, url и комментарий на переменные, которые вы реально получаете при отправке комментария. Akismet сравнит этот комментарий с более чем  7 976 786 200 (на момент написания, а это 87% от всех комментариев) спамных комментариев в централизованной базе и выдаст результат, является ли спамом этот комментарий.

$akismet-> setCommentAuthor («Иванов Иван»);
$akismet-> setCommentAuthorEmail («email@test.com»);
$akismet-> setCommentAuthorURL («http://othersite.ru»);
$akismet-> setCommentType («forums»);
$akismet-> setCommentContent («Я думаю, эта тема интересна многим людям, спасибо.»);

Все названия функций имеют говорящие названия. Но стоит заострить внимание на функции setCommentType. Эта функция помогает Akismet определить, на какого рода сайте был оставлен комментарий: социальная сеть, новостной сайт типа news2.ru, форум или блог. Вы можете добавлять любой аргумент, какой хотите. Например, у вас есть wiki-сайт — пишите «wiki», у вас блог — пишите «blog».

Далее используем функцию isCommentSpam. Именно эта функция и связывает нас с базой Akismet. Она возвращает true, если комментарий является спамом и false, если не является.

if ($akismet-> isCommentSpam ())
{
// Тут мы что-то делаем со спамом. Сохраняем для перепроверки или сразу стираем к чертям
}
else
{
// А тут хороший комментарий сохраняем к себе в БД
}

Все, именно так просто, как эти несколько строчек кода. Вы присоединились к борьбе со спамом. Кроме этого, вы также можете использовать CAPTCHA, или другой способ, если захотите, для защиты комментариев от спама. База спама Akismet постоянно растет, но иногда по ошибке нормальный комментарий определяется как спам и наоборот. Для коррекции таких ошибок есть ещё несколько функций.

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

$akismet-> submitHam ();

Этой функцией вы сообщите Akismet, что комментарий, определённый как спам, на самом деле в порядке.

$akismet-> submitSpam ();

А таким образом вы сообщите о спаме, информация о нем добавится в базу, и в следующий раз такой комментарий не будет одобрен.

Другие библиотеки

PHP5 используют не все. Но и для других языков программирования существуют библиотеки Akismet:

Все они могут быть легко интегрированы в ваши проекты, как было показано.

Популярные движки

Если вы используете для сайта или форума распространённый движок, найдется плагин Akismet и для вас:

Пользуйтесь!

Еще по теме:

Запись опубликована в рубрике Без рубрики с метками , , , , , . Добавьте в закладки постоянную ссылку.

24 комментария: Akismet для всех

  1. Kogleron говорит:

    Читал неоднократные нарекания по работе Акисмета. Для меня всегда капчи было достаточно.

  2. Seo 2uz говорит:

    Я не так давно общался с поддержкой акисмета :) по почте.

  3. Dmitry говорит:

    А сам пробывал использовать Akismet? На сколько быстро все это работает?

  4. art говорит:

    Dmitry, еще нет. не было времени

  5. Уведомление: некий блог » Архив блога » Akismet на любой сайт

  6. fx-man говорит:

    А кроме Akismeta есть еще что нибудь подобное? Или это самое лучшее что есть?

  7. art говорит:

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

  8. Vab говорит:

    Без акисмета вобще не жизнь. Капча конечно вариант но с акисметом проще.

  9. altfast говорит:

    Что с ним что без него можно жить припеваючи , только нужно работать головой

  10. Vab говорит:

    «…без него можно жить припеваючи»

    Да, и каждый день вручную вывозить на свалку спам тачками?!

  11. Toren говорит:

    Угу. выгребать спам в ручную :)

  12. Virginia говорит:

    Попробую реализовать, спасибо!

  13. webamator говорит:

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

  14. Money говорит:

    Спасибо за перевод! Надо себе в блог попробывать поставить…

  15. art говорит:

    Money, вам надо его не ставить, а только включить — он всегда есть в WordPress. для этого нужен API key. в посте написано, где и как его получить

  16. Алекс говорит:

    Использование совместно с Akismet простейшей капчи (типа – Я не спаммер) позволяет отсечь много спама, рассылаемого автоматизированно с помощью программ рассылки.

  17. art говорит:

    да, надо бы поставить такую простую

  18. Seodaiter говорит:

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

  19. art говорит:

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

  20. Seodaiter говорит:

    А то есть просто заработок на сайте этого не касается.

  21. trolll говорит:

    акисмет крут… 6000 каментов порезал.

  22. Seodaiter говорит:

    А капча еще круче, если не взломанная то, 6000*6000 прорежет

  23. Уведомление: Браузер-маникюр | Eat art

  24. Уведомление: Использование Akismet для борьбы со спамом на разных сайтах | Wordpress Tutorials

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>