Фильтр спама для блога. Отсев 99%
Доброго дня господа.
Как вы видите из заголовка, пост посвящен насущной проблеме спама в комментариях. Сразу оговорюсь, что наличие капчи в комментах меня лично раздражает, а кроме того высока вероятность того, что к моменту окончания написания коммента капча устаревает и как следствие коммент не публикуется, а просто исчезает. Кроме того, для моего блога актуален вопрос нагрузки, а по сему, будем учится посылать нахер как отфильторовать автоспам без плагинов.
Данную идею подбросил мне Денис в комментариях к этому посту.
А дальше пришлось пораскинуть мозгами, поискать варианты решения и вот на выходе пошаговое руководство для тех, кто устал от говнокоментарием. Итак...
Открываем comments.php шаблона и ищем там строчку:
<textarea name="comment" id="comment" cols="100%" rows="10" class="textarea"></textarea>
ну или что-то похожее.
Заменяем её на следующий код:
<div class="zaebli"><textarea name="comment" id="comment" cols="100%" rows="10" class="textarea"></textarea></div>
<textarea name="newcomm" id="newcomm" cols="100%" rows="10" class="textarea"></textarea>
Затем открываем файл style.css шаблона и втыкаем туда строчку:
.zaebli {position: absolute; left: -1000px;}
Что мы только что сделали? Создали новое текстовое поле для комментарием с оригинальным name="newcomm", а старое поле заключили в див и выкинули за пределы экрана на 1000px.
Теперь пользователи ручками будут вводить комменты в новое поле, а спам боты будут цепляться как и раньше к старому полю и писать туда говнокоменты, ну а нам остается только переключить публикацию со старого поля на новое. Для этого откроем фаил wp-comments-post.php (расположен в корне сайта) и найдем строки:
$comment_author = trim(strip_tags($_POST['author']));
$comment_author_email = trim($_POST['email']);
$comment_author_url = trim($_POST['url']);
$comment_content = trim($_POST['comment']);
и заменим их на:
$spam_field = trim($_POST['comment']);
if(!empty($spam_field)) wp_die('Иди тoвapищ, нa xyй!');
$comment_author = trim(strip_tags($_POST['author']));
$comment_author_email = trim($_POST['email']);
$comment_author_url = trim($_POST['url']);
$comment_content = trim($_POST['newcomm']);
Для безопасности теперь необходимо поменять мои имена и классы на свои и всё. 99% спама будет отфильтровано.
А 1% приходится на "обезъянок", такой спам фильруется только вручную.
Удачного вам избавления от СПАМА.
Метки:Разное, WP, SEO мысли, ИдеиКстати, в нашем полку прибыло, знакомтесь - Блог серого оптимизатора...
Для автолюбителей -renault symbol new.
Тем кто желает увеличить количество "лошадок" под капотом, просто необходимо купить турбокомпрессор для своей тачки.
32 Комментариев
декабря 10, 2008
И как всегда все гениально просто. Спасибо за совет.
декабря 11, 2008
Попробуем на сколько будет эффективен способ.
Попробую прикрутить себе. О результатах потом отпишу.
декабря 11, 2008
SmartBy
Я сам удивился когда допер до этого. Всегда пожалуйста.
Napster
У меня в сутки до 130 говнокомент было, сейчас только нормальные. Буду ждать результатов твоей “Войны со СПАМОМ”
декабря 15, 2008
Неплохая идея. У меня автоспам отсекает плагин WP-SpamFree, который смотрит включены ли у юзера кукисы и java скрипты.
декабря 15, 2008
Оригинально. А просто галочка от димонинга почему не устраивает?
декабря 15, 2008
AdultTraf
Не, я принципиально хотел спам отсеивать без плагинов, хостинг у меня слабенький.
reds
Да галочку можно ведь, по моему, обойти, вернее бот разве не может её нажать?
декабря 16, 2008
Все это неплохо… Но – это не война со спамом, т.к. вы в ответ ничего не делаете. А вот Parasite Eliminator позволяет засандолить сайт спамера в блеклист. И его сайт уже не пройдет много где. Да и по быстродействию нет проблем, в общем-то. Хотя, я для себя вообще закрыл коментарии, т.к. мой сайтик не предусматривает обратную связь.
В будущем наверно надо будет конечно что-то юзать.
P.S. За способ спасибо.
декабря 16, 2008
Vetroff
А я и не обещал войну со спамом! В итоге ведь кто как хочет, тот так и работает (или как умеет)
“Не стреляйте в пианиста…”
декабря 18, 2008
Я думал что Акисмет совместно с капчей творит чудеса, но после того,что прочел у Вас думаю я невсе знаю. Теперь буду пробовать. Посмотрим как на 99% убереться спам.
декабря 18, 2008
илья
Буду рад, если отпишешь о результатах
декабря 20, 2008
Акисмет и так блочит весь автоматический спам, ну + капча и наверняка.
А так сейчас по моему больше всего блогеры страдают от этих самых обезьянок… Вот от них бы найти способ
Кстати, особенно напрягают спаммеры, которые нормально комментят, ты к ним привыкаешь, они продолжают комментить, но время от времени меняют урл – сложно заметить, вроде те же активные комментаторы, а спокойно себе спамят свои сайты, вот их бы как-то наказывать
декабря 22, 2008
По-моему, от спам ботов избавиться не так уж и сложно. Mauzer абсолютно прав. Истинное зло – т.н. обезьянки. Вот от них-то действительно спасу нет. Делать все вручную банально не хватает времени. Может такова судьба блоггера
?
декабря 22, 2008
studio
А я и не говорил, что сложно… Просто плагин использовать не хотел и капчу… вот и всё.
Mauzer
Есть такой хитрый плагин, который выборочно закрывает ссылки… хочешь в тексте поста, хочешь в цитатах, хочешь в комментах – универсал короче. Но главная фишка – это возможность добавлять избранные урлы, которые закрываться не будут.
января 2, 2009
я считаю что не какие плагины не помогут и спам боты будут всегда
января 3, 2009
супер!Жаль увидел поздно ваш пост с этим советом,но вот до НГ все сделал,как написано (делал для блога девушки,она как раз жаловалась что очень много автоспама приходит) и результаты так же впечатляют!Как раз хотел отписаться,после того как сам всё проверю!Так что спасибо огромное и с Новым годом конечно же!:))
января 4, 2009
vasiliy79
Это не плагин… а если и появятся спам боты, нужно просто поменять имена для полей.. и всё!!!
Чеширский Кот

Рад что помагло!
Подруге привет!
С Новым Годом!!!
января 6, 2009
Посмотрим!
января 6, 2009
Да ссылочка не остается.
января 8, 2009
Да, везёт же некоторым, вот бы мне когда нибудь столько посетителей… А я если такую штуку проверну у себя, то буду сидеть одна, сама с собой – ни ответа, ни привета! Как-то скучно мне будет. Но вот когда и я подрасту немножко и меня тоже замучают подлые спамеры – тогда обязательно попробую ваш приёмчик. Так что всё равно спасибо!
января 8, 2009
Катерина
Пользуйтесь на здоровье
января 10, 2009
Хорошее решение, жаль что нужно редактировать файлы движка, при обновлении неудобно…
января 16, 2009
Антон
wp-comments-post.php – вроде не меняется
января 22, 2009
(оффтоп)Постоянно захожу в твой блог, вижу сверху эту прикрепленную тему и ухожу, так как думаю, что ты ничего не писал)) Только когда в ридер зашел, понял, что пост прикреплен просто))
января 22, 2009
9SEO
Ты меня улыбнул… Я как то об этом не задумывался
февраля 15, 2009
Мы выдумывает всевозможные скрипты, а спамеры на это что нибудь свое, вечная война
апреля 2, 2009
а почему просто не поменять класс для коментов? зачем этот оставлять да ещё и новый рисовать. Заменить его на другой класс и всё. бот зашёл, ничего не нашёл и ничего не запостил.
апреля 2, 2009
Евгений
Если бы Вы хоть раз сами распарсили хоть одну базу, таких вопросов у Вас бы не возникало.
Объяснить?
апреля 3, 2009
ну вообще я был бы не против объяснения. смысл один по моему.. только там бот вроде что то куда то вписал.. если только вернул он какую нить ошибку и спамер под ваш сайт поменял класс тогда понятно зачем оставлять оригинал.
апреля 3, 2009
Евгений
Набираеется база, не важно база форумов это или база каталогов.
Затем ручками заполняется и распознается несколько форм – они становятся образцами. Затем проганяем всю базу, ту которую насобирали, на предмет распознания ОДНОТИПНЫХ форм заполнения… однотипные распознали, теперь те, что не однотипны проходятся ручками. Всё это оседает в базе. и вот тут то самое главное!!! Если мы будем использовать новый класс, удалив при этом старый, то естественно наша форма отправки комментария не будет распознона как однотипная, но зато она впоследствии распознается вручную. Если же мы оставим старый класс, то форма будет распознана как однотипная, но эффекта от спама не будет, так как для комментариев было создано другое поле.
вот примерно так..
я сейчас под пивом
апреля 6, 2009
ну собственно как и предполагал.. спасибо!
ноября 1, 2009
Отличный пост
)
Трэкбеки
Добавить комментарий