Нет автоматическому спаму
Сегодня меня окончательно достал автоматический спам в комментариях: Akismet пропустил десяток спамных комментариев от всяческих "Гинекологов" с сообщениями типа "Очень было интересно читать, спасибо!" и "Даже моей маме понравилось :))". Плюс несколько десятков спамных комментариев он поймал, но ежедневно просматривать попавшие в спам комментарии на предмет попадания туда по ошибке нормального комментария меня утомило. Варианты с премодерацией и обязательной регистрацией в блоге я не рассматриваю - премодерация не отменит необходимости просмотра спама, а обязательная регистрация в блоге автоматом снизит активность комментирующих раз в 10 минимум. Установка капчи меня также не устраивает: во-первых, она тоже снижает активность читателей блога, ну и во-вторых, что будет с вашим комментарием, если вы ошиблись в вводе капчи? Правильно, текст уже написанного комментария исчезнет. Такой фигней страдают практически все анти-спам плагины. У того же неправильно введенная капча приводит к потере комментария, если вы не удосужились перед отправкой его скопировать.
Я пересмотрел сегодня пару десятков анти-спам плагинов - "человеческих" среди них нет. Такие плагины по большей части вредят именно нормальным посетителям блога, но никак не спамерам, которым потеря комментария в одном из десятков тысяч блогов никак не страшна. Единственную "человеческую" капчу я увидел в блоге : никакого гиммора с вводом символов, кликнул на нужной картинке и готово. И уж точно никаких ошибок при вводе. К сожалению, там капча самописная и не под WordPress. Впрочем, будь такая капча доступной всем спамеры ее моментально бы научились пробивать. Но неважно. Поговорим лучше о том, каким образом остановить потоки спама в комментариях.
Первое: весь классический спам с 2-мя или больше ссылками в сообщении, а также весь зарубежный спам ловится тем же Akismet'ом на ура и о нем беспокоиться не стоит.
Второе: грамотный ручной СМО-спам отловить можно только зайдя на сайт комментирующего и не иначе. Многие блогеры оставляют такие спамные комментарии у себя в блоге, если сообщение действительно оставлено по теме и состоит не из 2-х слов. Ловить автоматом такие комментарии невозможно в принципе.
Третье: автоматический СМО-спам, получивший просто невероятный размах в последнее время. Характеризуется нейтральными комментариями, которые можно разместить почти в любом блоге. Ловится Akismet'ом, но только в конечной стадии распространения. То есть когда такой комментарий уже пометят как спам несколько сотен блогеров.
Как видно, наибольшие проблемы доставляет автоматический СМО-спам и именно с ним мы будем бороться. Чем он характеризуется кроме как нейтральными текстами комментариев? Тем, что он заточен под блоги на WordPress. Именно WordPress предоставляет возможность оставить ссылку на сайт комментирующего плюс это самый популярный блог-движок среди автономных блогов. Заполнить скриптом форму комментирования в блоге под управлением WordPress легче простого - названия ее полей не нужно даже распознавать, они заранее известны и любой школьник может за полчаса накатать автоматическую постилку в комментарии. Так что самый простой способ отсечь спам-скрипты это обмануть их, подсунув левое поле для заполнения, а в действительности, использовав другое поле, не со стандартным именем.
Идею подглядел , правда решил изменить используемое поле с email на comment. Дело в том, что использование одинаковых имен полей в блогах на WordPress имеет и свои плюсы: если вы где-то заполнили свое имя и имейл, то в другом блоге вам не надо полностью вводить их, достаточно лишь кликнуть на нужном поле и браузер покажет вам подсказку. Поле с комментарием такой возможностью естественно не обладает и именно поэтому его и стоит использовать для обмана спам-скриптов.
Сначала открываем файл comments.php вашего шаблона и ищем там что-то похожее на:
<textarea name="comment" id="comment" cols="61" rows="13" class="textarea"></textarea>Меняем эту строчку на:
<div class="smo"><textarea name="comment" id="comment" cols="61" rows="13" class="textarea"></textarea></div> <textarea name="real-comment" id="real-comment" cols="61" rows="13" class="textarea"></textarea>
Теперь открываем файл style.css вашего шаблона и добавляем туда строчку:
.smo {position: absolute; left: -1000px;}
Что мы сделали? Поле по умолчанию для текста комментария мы сделали невидимым (сдвинув его на 1000 пикселей вне экрана) и добавили новое точно такое же поле, но с именем real-comment. Почему бы просто не сделать поле hidden? Потому, что hidden очень легко можно распознать, а вот до анализа css-стилей спам-скрипты пока что не доросли. Конечно, спам-скриптам не составит труда заполнить оба поля, поэтому необходимо еще исправить и файл движка wp-comments-post.php - найдите там строки:
35 36 37 38 | $comment_author = trim(strip_tags($_POST['author'])); $comment_author_email = trim($_POST['email']); $comment_author_url = trim($_POST['url']); $comment_content = trim($_POST['comment']); |
И замените их на:
35 36 37 38 39 40 | $spam_test_field = trim($_POST['comment']); if(!empty($spam_test_field)) wp_die('Спаму нет!'); $comment_author = trim(strip_tags($_POST['author'])); $comment_author_email = trim($_POST['email']); $comment_author_url = trim($_POST['url']); $comment_content = trim($_POST['real-comment']); |
Собственно, больше ничего делать и не надо. Теперь, если спам-скрипт заполнит текстовое поле comment комментарий не будет добавлен. Для большей безопасности вам стоит поменять имя css-класса smo и имя настоящего текстового поля для текста комментария real-comment. Если вы используете какие-нибудь сторонние плагины для комментариев вроде Filosofo Comments Preview, то вам необходимо и там сменить comment на real-comment. Проверить работу хака очень легко: просто удалите из style.css строчку с .smo, обновите страницу комментариев в вашем блоге и попробуйте отправить комментарий с заполненным первым текстовым полем - если вы все сделали правильно, то вы не сможете разместить комментарий.
Забавно, но такой маленький хак уменьшает количество автоматического спама на 99% и ни малейшим образом не мешает настоящим комментаторам оставлять свои сообщения. Надеюсь, этот хак вам поможет в борьбе со спамом. Если есть какие-нибудь вопросы - оставляйте комментарии, буду рад ответить :)
PS. Прошел почти год после установки хака - ни единого автоматического спам-комментария не прошло. Конечно, это не помешало особо умным товарищам вручную нафлудить пару сотен спамных комментариев. Но что такое несколько сотен мусорных комментариев за год работы блога? Абсолютно ничего. Если бы не хак весь блог был бы завален тысячами и тысячами спамными комментариями, так что пользуйтесь и радуйтесь отсутствию спама.
Рекомендую также:

#1, 13 сентября, 2008 в 02:01
мне нравится вариант с полным удалением поля ввода урла :) спам как рукой снимает!
#2, 13 сентября, 2008 в 02:09
толку то? спам-скрипты могут формировать запрос, вообще игнорируя форму комментирования страницы. имена то полей формы известны.
многие блогеры отрубают ввод урла, но спама у них меньше не становится - скрипт этого просто не замечает.
#3, 13 сентября, 2008 в 09:58
простите за офтоп, но не могли бы Вы подсказать с помощью какого плагина у вас сделана авторизация и регистрация новых пользователей?
#4, 13 сентября, 2008 в 13:29
если честно сам в шоке! было дело спамил сам все что можно вдоль и поперек. поэтому немного в курсе проблемы.
однако когда моя спамкарма2 предложила мне один огромный геморрой "с баллами" (от акисмета я отказался ранее по причине его полной невменяемости) я плюнул на все да и затер поле ввода урла. эффект превзошел сам себя :)
#5, 13 сентября, 2008 в 18:12
плагин
#6, 13 сентября, 2008 в 18:15
мне больше нравится, когда поле урла есть, а спама нет ))
сутки прошли с установки хака - ни одного спамного комментария ни в одном из моих блогов нет, доволен до безобразия ))
#7, 15 сентября, 2008 в 08:21
У плагина Макса с капчей уже есть изменение,
в котором при огибке ввода и возврате текст не теряется.
Наверное, вы его просто не нашли.
#8, 15 сентября, 2008 в 08:25
в любом случае мое мнение - капчи это зло.
#9, 19 сентября, 2008 в 17:23
У меня теперь не добавляет комментарии :( Говорит, что я не ввел комментарий. Подскажите - где копать?
У меня есть подозрения на плагин Ajax-comments. Сейчас в нем покопаюсь.
#10, 19 сентября, 2008 в 17:41
Разобрался :) Просто отключил плагин.
#11, 19 сентября, 2008 в 19:42
Просто нужно не только поле ввода урла убрать, но и не принимать комменты с этим полем в скрипте. Нет урла - нет спама ;)
#12, 24 сентября, 2008 в 15:49
А как это сделать ?
#13, 24 сентября, 2008 в 17:17
в functions.php шаблона добавьте строчки:
#14, 30 сентября, 2008 в 14:55
спасибо за совет. последовал вашей инструкции, но поменял названия полей на свои, уникальные.
правда на проверку вот эта часть кода не срабатывает:
если написать только в это поле, то выскакивает ошибка что вы не ввели текст комментария, а если ввести в оба поля, то коментарий из поля rel-comment публикуется
#15, 30 сентября, 2008 в 15:01
очень похоже на сторонние плагины комментариев. у вас стоит какой-нибудь из плагинов, что работает с комментариями?
#16, 30 сентября, 2008 в 15:51
стоит brians threated comments - но я и в нем сделал необходимые изменения
#17, 30 сентября, 2008 в 15:59
вероятно не везде. поищите, где еще смотрится это поле.
#18, 3 октября, 2008 в 16:22
Сегодня попробовал
у меня пишет Ошибка: пожалуйста, напишите комментарий.
#19, 3 октября, 2008 в 21:59
@ikar у меня все получилось - честно говоря очень рад узнать этот метод - ни один спамкоммент не прошел еще
#20, 7 октября, 2008 в 01:30
Так, у кого не работает с установленным плагином Filosofo-comment-preview. Нужно добавить в php-файл плагина прямо в начало (после закомментированного текста автора плагина) те же строчки, что добавляли в файл wp-comments-post.php:
И все работает! Думаю эту же операцию можно проводить и с другими предпросмотровыми плагинами.
PS: Этак я php изучу из-за спаммеров, хоть какая-то польза от них. =))
#21, 21 октября, 2008 в 09:31
Интересный метод скрытия поля ввода! Что подумает Яндекс на счёт этого, ведь это нечто иное как скрытый контент.
Я у себя тоже поставил подобный хак, только поле ввода сделал hidden. Теперь весь спам попадает туда, куда ему и дорога.
Скоро сделаю рейтинг "говносайтов" из ссылок в спаме.
#22, 15 ноября, 2008 в 18:02
Ну вот, опять меня опередили... :D Сначала я считала, что первая додумалась до идеи подменять имена полей (незнание php не позволило мне это реализовать самой, и я очень обрадовалась, когда нашла это решение на vwhost.org/12.html), а теперь, оказывается, я не первая, кто решил модифицировать не email, а комментарий. :) Кстати, я тоже страдаю нелюбовью к капче: сама терпеть не могу, когда надо её заполнить для отправки одной фразы, и не хочу, чтобы мои посетители думали то самое, что думаю я в такой ситуации.
Только я поле comment никуда прятать не стала, а просто закомментировала, и ничего - приём работает. Что касается "скрытого контента" (для preblud), то Яндекс тоже не сумасшедший, и просто по факту наличия невидимых элементов не банит, иначе пришлось бы забанить всех, у кого на сайте выпадающие меню или всплывающие скриптовые подсказки.
Насчёт "убрать поле урла" - я тоже этим пользовалась. Спамеров было сразу видно: у них это поле заполнено, ибо боту форма на странице не нужна. Спамеры уже шли косяком, как рыба на нерест, а сразу после замены поля - словно отрезало. :) После чего я открыла поле ссылки - для людей.
#23, 23 декабря, 2008 в 20:04
Что мы сделали? Поле по умолчанию для текста комментария мы сделали невидимым (сдвинув его на 1000 пикселей вне экрана)
---
Бред, а не проще сделать display:none; или visibility:hidden???
Идея хорошая, я на ее основе сделал еще более хитрую идею. Потому все равно благодарен.
#24, 12 января, 2009 в 01:17
если не трудно загляните, пожалуйста на сайт, в любой пост - попробуйте откомментировать
что-то я не пойму, сделал вроде все по инструкции
получил 2 окна
если написать в верхнем - количество вводимых символов ограничено, и он автоматом соскакивает во второе окно - при отправке сообщения вываливается надпись в крючочках (скорее всего "спаму нет!")
если писать ТОЛЬКО во втором - сообщение проходит
но получается польователю надо указать - пиши во втором
я думал ложное окно невидимо?
#25, 20 января, 2009 в 01:04
Отключил я css - и увидел бред, две техтареи - полный тупизм - а как быть с ссотовыми телефонами, которые css не поддерживают?
#26, 20 января, 2009 в 11:14
все работает!!! после рефреша - все запустилось
неделя без спама - это круто, только вот жалько - полковнику никто не пишет :)))))))))))))))))))))))))))
#27, 5 февраля, 2009 в 01:33
Против СМО-спама есть решение получше —
#28, 11 марта, 2009 в 08:50
Действительно, чтобы защититься от спама нужно не публиковать свой рабочий email адрес в открытых источниках Интернета (в гостевых книгах, в форумах и т.д.). Но, как показывает практика, рано или поздно этот email оказывается в руках спамера (если вообще никому не говорить свой адрес, то и писать на него никто не будет).
Я думаю, что наиболее продуктивным способом борьбы со спамом на настоящий момент является замусоривание баз данных спамеров несуществующими email адресами. Ведь если все рекламные письма будут уходить "в пустоту", то и толку от такой рассылки не будет, поэтому рано или поздно спам-рассылки прекратятся. Чтобы замусорить базы данных спамеров, нужно на своём сайте разместить . Но это можно сделать только в том случае, если у Вас есть свой сайт на хостинге, поддерживающем язык PHP.
#29, 27 марта, 2009 в 22:41
Попробовал у себя тоже. Точно знаю что конфликт у него с OpenID плагином. Появлялось два поля.
Не подскажите как использовать ваш способ в сочетании с OpenID?
#30, 27 марта, 2009 в 22:51
А кстати все получилось. Нужно было сначала отрубить плагин OpenID заменить нужные файлы, а потом врубить снова! И все работает! Спасибо огромное!
#31, 6 апреля, 2009 в 23:06
Большое человеческое спасибо!
#32, 30 июля, 2009 в 13:25
ну теоретически любой бот может определить видимость или скрытость элемента. хотя на практике, конечно, никто таких возможностей в бот встраивать не будет.
#33, 30 июля, 2009 в 13:27
а как быть с остальным контентом без css? на 99% сайтах без css делать нечего и лишняя текстариа это уж совсем пустячок будет.
#34, 30 июля, 2009 в 13:29
забавно, методу уже год, а до сих пор спама нет.
ну, конечно, за исключением особо одаренных личностей, оставивших спам-комменты именно к этой статье, маскируясь под бота.
правда теперь у меня полнейший завал спама в качестве трекбеков и пингбеков. надо с ними тоже разобраться.
#35, 30 июля, 2009 в 13:51
а чем это лучше акисмета? принцип то тот же.
#36, 30 июля, 2009 в 21:55
Невозможно оставить коммент, ругается на ту же строку в wp-comments-post.php
$spam_test_field = trim($_POST['comment']);
if(!empty($spam_test_field)) wp_die('Спаму нет!')
Плагины все отключил, поле для ввода одно.
#37, 30 июля, 2009 в 22:20
Разобрался сам, все работает спасибо :)
#38, 27 августа, 2009 в 20:26
Блестяще!!! Все сделал, все работает!!! Посмотрим, каково оно будет через недельку.
#39, 3 сентября, 2009 в 13:09
Все сделала, спама нет. Ура!!!
#40, 3 сентября, 2009 в 13:47
У меня все работает, но не работает плагин comment-toolbar, который показывает ссылки reply и quote.
Подскажите,как его исправить, чтобы работал?
#41, 3 сентября, 2009 в 19:00
откройте файл плагина и ищите вхождение слова "comment" - после чего исправьте его на ваше название текстового поля.
#42, 3 сентября, 2009 в 19:23
Если бы все было так просто, я бы не спрашивал :)
в PHP я не шарю, поэтому функцию найти не могу. А слова "comment" в коде нет...
#43, 3 сентября, 2009 в 19:32
как насчет строчки:
поменяйте тут 'comment' на ваше название 'real-comment'
вроде после этого должно заработать.
#44, 3 сентября, 2009 в 19:51
попробовал. не работает... :(
#45, 3 сентября, 2009 в 20:55
попробуйте еще тут изменить:
#46, 3 сентября, 2009 в 21:07
увы, но все по-прежнему... :(
#47, 3 сентября, 2009 в 21:12
к сожалению, больше ничем помочь не могу - я у себя попробовал плагин поставить, но он вообще заработать не захотел.
#48, 3 сентября, 2009 в 21:20
Спасибо и на том, а у меня другие не работают, только этот :)
#49, 10 сентября, 2009 в 16:16
Разместил у себя. Несколько дней жду результатов
#50, 14 сентября, 2009 в 21:06
Спасибо огромное суперский хак, только что поставил его себе наблог вродебы всё ок!
#51, 22 сентября, 2009 в 10:00
Красиво и ефективно сделано. Работает и никому (кроме ботов) не мешает. Проверено на себе
#52, 28 сентября, 2009 в 09:44
Замечательный хак, использую его и спама не вижу, но есть 1 маленькая проблема. Буду очень благодарен если вы мне поможете, есть замечательный плагин он позволяет отвечать на выбранные комментарии направленно, а не оставлять в конце списка что то типа 2Alexsi. После утановки хака мне ни как не заставить работать этот плагин, и подобные ему. Выручите PLZ!
#53, 28 сентября, 2009 в 10:47
ищите в исходном коде плагина вхождения 'comment' и меняете его на новое имя поля.
#54, 8 октября, 2009 в 19:56
Вообще есть еще Novikov плагин для защиты от спама, но лучшим методом считаю настройку WordPress чтобы он давал не прямую ссылку, а редирект, тогда все спаммеры сразу видят что у тебя редирект и не спамят тебя, потому что знают что ссылку не получат. Так что все очень просто доктор ватсон.
#55, 8 октября, 2009 в 20:11
полнейшая чушь. 99% спама это автоспам - а скриптах побоку есть в блоге редирект или нет, закрыты ссылки ноуиндексом или нет.
будьте добры сначала прочитать статью, а потом оставлять свои спамные комментарии - в этом блоге ссылки закрыты ноиндексом.
#56, 12 октября, 2009 в 19:48
И действительно всё просто и грамотно. Flector, спасибо за блог, нашел для себя много нового и интересного на твоем сайте. Приятно читать такие блоги.
#57, 14 октября, 2009 в 17:16
Мне не удалось найти в файле wp-comments-post.php точно таких строк:
Есть только такие:
#58, 14 октября, 2009 в 18:29
точный код соответствует WP 2.6 - для 2.7 и выше нужно изменять именно тот код, который вы привели. просто на аналогии сделайте тоже самое и все.
#59, 8 ноября, 2009 в 01:35
Не, не работает скрипт после таких изменений.
Комментарии совсем нельзя добавлять.
#60, 8 ноября, 2009 в 02:01
вот интересно, а как же тогда вы тут добавили свой коммент? ))
#61, 8 ноября, 2009 в 22:03
А какая у вас версия вордперсс?
#62, 8 ноября, 2009 в 23:26
2.8.5 - но код рабочий для 2.6 линейки, с 2.7 он чуть изменился, но по аналогии сделать легко.
#63, 9 ноября, 2009 в 03:38
Не знаю, у меня перестали добавляться комментарии. Пришлось перестанавливать.
Это конечно не по теме, но может знаете как настроить из вп кросспостинг в жж? Или программы для кросспостинга какие-нибудь?
Мой Semagic, после того, как я добавил в него вп перестал постить в жж.
#64, 9 ноября, 2009 в 04:24
что там переустанавливать то? файл обратно вернуть из дистрибутива и все. а в новых WP строчки для замены чуть-чуть отличаются, тут в комментах их уже приводили. и плюс еще - если используются плагины для комментирования, то там тоже надо проводить изменения.
#65, 9 ноября, 2009 в 10:10
Мне не ясен смысл этого выражения. Какой файл? Из какого дистрибутива? Может, я как-то под другому устанавливаю?
Я удалял все файлы из админики хоста. Потом заливал по новой.
Ещё очищал какие-то таблицы в phpMyAdmin.
Кстати, гугл аналитикс теперь не видит мой сайт-блог. Плагин активирован.
#66, 9 ноября, 2009 в 11:19
ну приехали. вы же изменяли 2 файла - comments.php из папка шаблона и файл wp-comments-post.php из дистрибутива WP. чтобы все вернуть как было - достаточно было вернуть эти 2 файла назад.
#67, 9 ноября, 2009 в 11:56
Да, балбес я.
#68, 14 декабря, 2009 в 16:32
А можно вообще убрать поле Сайт, и как это сделать?
#69, 14 декабря, 2009 в 16:41
от спама это не спасет. но если хотите удалить, то просто в comments.php удалите строки, похожие на:
и
#70, 15 декабря, 2009 в 02:48
Мне вот помог + должен быть установлен
#71, 15 декабря, 2009 в 11:01
Капча - это зло, ты отпугиваешь потенциальных комментаторов. Ты когда-нибудь пытался сам прочитать этот ядерный тексте?
А Акисмет обладает дурацкой способностью фильтровать хорошие сообщения и пропускать спам.
Пользуюсь подменой полей уже очень давно. Ни одного спамового коммента за все время.
#72, 4 января, 2010 в 18:28
Есть обновление этого плагина на 2,9 ???
#73, 4 января, 2010 в 19:10
это не плагин, а хак. и он до сих пор прекрасно работает, разве что код стал немного другим - тут в комментах есть исправленный код для версий 2.8-2.9
#74, 1 февраля, 2010 в 12:53
Да, метод действительно отличный, сам тоже давно пользуюсь. Но на самом деле достаточно просто переименовать поля (или даже только одно поле) без правки CSS и добавления новый полей. Тем, кто жаловался на спам через trackback-и, рекомендую попробовать плагин Simple Trackback Validation.
#75, 1 февраля, 2010 в 14:22
такой вариант пробивается хрумером на ура, а вот определить какое из 2-х полей правильное он не может. впрочем, от примитивных скриптов спама изменение имени поля вполне достаточно.
#76, 1 февраля, 2010 в 14:23
задумка хорошая, но Akismet со спамом в трекбеках справляется и сам, причем на 100%.
#77, 1 февраля, 2010 в 14:30
не надо никакого акисмета и подмена полей тоже не нужна. С ней очень много геморроя во время обновления версии WP.
Ставьте amcapcha (галочка при комментировании) и будет вам счастье :)
#78, 1 февраля, 2010 в 14:36
согласен, иногда достает хакать. но всевозможные капчи и галки все равно идут лесом.
#79, 1 февраля, 2010 в 14:38
А вы пользовались? галку поставить нефиг делать, а в коде ковыряться - реальный п...ц, особенно когда у тебя несколько сайтов.
#80, 1 февраля, 2010 в 14:48
не надо пользоваться, чтобы знать, что капча портит вид любого блога. даже примитивная капча с галкой.
если уж на то пошло, то я лучше воспользуются псевдо-капчей плагина или невидимой капчей плагина , остальные варианты лично мне не подходят, меня всяческие галки и прочая муть в формах комментирования жутко раздражает.
вот здесь на блоге вы не видите никаких капч или галок, разве это плохо? а потратить надо лишь 2 минуты при апгрейде вордпресса. впрочем, скоро напишу обновленную статью с вариантом защиты от спама без правки файлов самого движка, надеюсь хоть этот вариант всех устроит.
#81, 1 февраля, 2010 в 15:04
Отличный аргумент, "я не пользовался, но это плохо".
Тогда не вижу смысла дальше спорить.
#82, 1 февраля, 2010 в 15:09
чем плох аргумент? плагины я ставил, смотрел их работу - как никак специфика блога это подразумевает. и долгую их работу я могу наблюдать в сотнях блогах, что находятся у меня в гугл ридере.
вы так говорите словно я ругаю то, что никогда в жизни не видел. а это совсем не так. это уж скорее ваш аргумент некорректен - ставить убогие и портящие блог плагины только затем, чтобы доказать как они плохо смотрятся в блоге - разве это не маразм?
#83, 1 февраля, 2010 в 15:13
Каким же образом галка портит вид блога? Поясните.
#84, 1 февраля, 2010 в 16:11
ну а что тут пояснять то? вроде и так все очевидно - чем больше шагов надо посетителю для комментирования - тем меньше шанс, что он оставит комментарий. это даже не обсуждается, это аксиома. а галка просто выглядит нелепо - некоторые люди даже не понимают, что галка заменяет капчу. к последней то уже все давно привыкли, а к нестандартным видам защиты от спама нет. сам 2 раза забывал ставить галку и терял текст комментария, конечно - я был невнимательным под конец рабочего дня, но тем не менее, огорчение от пропажи комментов было вполне реальным.
а насчет хака вордпресса - у меня в данный момент хак используется на 12 блогах, при апдейте вордпресса я обновляю 1 раз файл хаком, а затем просто копирую файл во всем папкам с блогами. занимает это от силы 5 минут. с учетом того, что этот хак не единственный и есть и другие, обязательные для установки, лезть в код ради только защиты от спама мне не приходится, просто этот хак добавляется в список to-do при апдейте и только.
зато посетителям не нужно гадать буквы на капчах, ставить галки, обязательно регистрироваться и тому подобное. отсюда и 2816 комментов всего на 119 записей.
#85, 1 февраля, 2010 в 16:18
2 Flector, ерунда
Объясняю по пунктам:
1.Рядом с галкой есть надпись "подтверждаю, что я не спам-бот", для невнимательных
2.Если галка не нажата, текст комментария сохраняется на странице, для тех, кто боится потерять текст комментария
3. Галка требует одного клика, это не то же самое, что разгадывание картинок и задач, не надо путать
4. Если человеку интересно то, что вы написали, он оставит комментарий несмотря ни на что
5. Количество комментариев - это для вас показатель???
Я вам за час нафлужу так, что статистику зашкалит.
#86, 1 февраля, 2010 в 16:22
а вообще есть способ лучше, там вообще не надо ничего делать при обновлении:
#87, 1 февраля, 2010 в 16:31
Ребята, мне реально смешно наблюдать за вашим спором. Неужели непонятно, что никто из вас не изменит своего мнения :)
А так, вы только засоряете почтовый ящик, подписавшихся здесь в этой теме.
Для справки: я сам предпочитаю этот способ по двум причинам: за год на моих блогах не было ни одного автоматического спам-коментария и в отличие от плагина — хак не выделяет под себя оперативку на хостинге. Лично мне не в лом при обновлении вордпресса обновить пару строчек в коде.
Да и если быть честным — то обновляться у меня нет желания — на одном сайте стоит ветка еще 2.6.х а на другом 2.7.х, потому что с каждой новой версией прожорливость вордпресса растет, а это сказывается на работоспособности сайта.
#88, 1 февраля, 2010 в 16:37
1. посетители не обязаны знать, что такое спам-бот, да и опять же - в процессе быстрого ответа можно про галку забыть.
2. только что зашел на ваш блог, написал коммент без галки, меня перенаправили на страницу, где сказано, что коммент не добавлен. по многолетней привычке (и как поступают 95% пользователей интернета) я жму в браузере кнопку "назад" и попадаю на пустую страницу, где не сохранился ни коммент, ни даже мои введенные данные в форму.
3. и тем не менее - она требует клика.
4. а половина не оставит - оставят только самые усидчивые. знаю по себе.
5. да, количество комментариев от разных пользователей в споре "капча или не капча" это офигенный показатель.
некорректный способ, но почему бы и нет? и не пойму, каким образом это может быть лучше плагина той же невидимой капчи?
#89, 1 февраля, 2010 в 16:42
к сожалению, обновление это вынужденная мера. ко всем старым версиям вордпресса существуют эксплойты или дыры. и при желании поломать такой блог дело 10 минут.
сожалею ))
#90, 1 февраля, 2010 в 16:43
2 Flector, ладно, проехали. Не убедили все равно.
2 lilumi, ты прав, сорри :)
#91, 1 февраля, 2010 в 16:47
вопрос в другом - наличие галки принципиально для вас? я ведь уже упоминал чуть выше, что скоро обновлю статью и этот же метод подмены полей можно будет использовать без хака вордпресса. но вы все равно ведь оставите галку, разве не так?
#92, 1 февраля, 2010 в 16:48
это если иметь дело с обычным блогоюзером, а так у меня все под контролем :)
для последних версих 2.6.5 и 2.7.1 нет эксплойтов :) (можете проверить здесь: ;))
#93, 1 февраля, 2010 в 16:51
не обманывайте себя, я только что сменил вам админский пароль на вашем блоге ))) безобидный эксплойт, но зато весьма показательный ))
#94, 1 февраля, 2010 в 16:53
Почему же? Не факт. Напишите, я с удовольствием почитаю.
Единственное что меня интересует, будет ли работать плагин "цитировать-ответить" при этом способе?
Он у меня так и не заработал с подменой полей и это было одной из причин его замены.
#95, 1 февраля, 2010 в 16:58
в любом плагине, который использует стандартное поле комментария надо менять название поля на новое. мне тоже пришлось его сменить аж в 3 плагинах, благо, что они не обновляются уже с год и мне не приходится их тоже хакать при выходе новой версии.
но да, согласен в этот раз, это весьма неприятно. правда лично для меня галка или какая другая капча все же большее зло, чем необходимость хакать вордпресс и плагины комментирования.
но мы уже вроде сошлись на мнении, что нам друг друга не переспорить ))
#96, 1 февраля, 2010 в 16:59
это вы так думаете :)))) я ж говорю, что у меня все под контролем ;)
#97, 1 февраля, 2010 в 17:03
вижу )) но все же это все равно дырка в wp и чем дальше в лес, тем больше будут находить дырок под старые версии wp. а возможность заспамить вас письмами со сменой пароля это нехорошо, особенно в свете того, что ресурсы сервера не безграничны.
#98, 1 февраля, 2010 в 17:07
рассылка 30 писем с этим комментарием подписчикам на эту тему больше нагружает ресурсы хостинга ;)
А отправить письмо о забытом пароле можно в любой версии вордпресса
#99, 1 февраля, 2010 в 17:31
я к тому, что отслеживание и закрытие дырок в старых версиях wp будет более затратно, чем обновление wp до последней версии. а wp2.9 генерит странички быстрее, чем версии до него и это факт.
#100, 1 февраля, 2010 в 20:14
Возможно, надо будет проверить этот момент.
Во всяком случае на сайте где у меня 10тыс. посетителей в сутки стоит плагин кеширования и время генерация в этом случае для меня не играет роли.
#101, 1 февраля, 2010 в 20:25
это даже проверять не стоит, уже многократно проверено. даже на localhost открываться будет быстрее. на глаз, конечно, не заметно, но тем не менее данный факт удивителен в свете того, чтобы обычно вордпресс становится более медленным и прожорливым.
для блога с 10к и с кешированием это, конечно, никакой роли не играет.
#102, 14 марта, 2010 в 20:04
Практически любая модификация кода блого-движка уже уменьшит количество спама в разы. Но - если вы почему-то популярны, то под вас сделают личную версию, и тогда такие хаки уже не помогут.
#103, 30 марта, 2010 в 20:24
В последнее время мой блог прямо атакуют авто спамеры, причем пишут комментарии эротического содержания. Пришло время ставить такой плагин, потому что удалять по 100 с лишним комментариев в день очень раздражает.
#104, 6 апреля, 2010 в 10:04
Огромное спасибо, а то эти спам машины зае*али в конец...
#105, 7 апреля, 2010 в 16:23
Что правда, то правда
#106, 7 апреля, 2010 в 18:13
Всё сделал как вы рассказали-показали, но ничего не изменилось, визуально. Так и должно быть? Я ещё только учусь, не сердитесь.
#107, 7 апреля, 2010 в 20:33
визуально никаких изменений и не должно быть, в этом и фишка ))
#108, 7 апреля, 2010 в 20:41
Спасибо, понял! У меня тут проблема одна появилась, пробую добавить комментарий на английском, но он не добавляется. Пишет: Sorry, comments are closed for this item.
На русском всё нормально проходит. В чём тут дело?
#109, 7 апреля, 2010 в 20:50
понятия не имею. в wordpress нету определения языка комментария, у вас никакой плагин этим не занимается?
#110, 7 апреля, 2010 в 20:57
Посмотрел плагины которые активированы и вот что нашёл:Aprove only russian comments, и вот что к этому плагину написано:Kill all comments without russian text - Убейте все комментарии без российского текста.. Это он не даёт, да?
#111, 7 апреля, 2010 в 21:03
именно.
#112, 7 апреля, 2010 в 21:05
Убрал этот плагин и всё заработало!
#113, 18 апреля, 2010 в 21:01
Спасибо, может хоть это поможет, ни один плагин у меня нормально не работает ((( Сейчас все сделала, правда в WP 292 wp-comments-post.php там немного другие строчки.
В общем, жду ботов, за сегодня пару десятков уже было, надеюсь, они были последними ))
#114, 21 апреля, 2010 в 22:18
Здравствуйте для версии Версия 2.8.5 код такой как написала Настя
$comment_author = ( isset($_POST['author']) ) ? trim(strip_tags($_POST['author'])) : null;
$comment_author_email = ( isset($_POST['email']) ) ? trim($_POST['email']) : null;
$comment_author_url = ( isset($_POST['url']) ) ? trim($_POST['url']) : null;
$comment_content = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;
может его как-то нада по другому переписать так как у меня окно комментария растянулось на всю страницу и туда не пищутся совсем коментарии поэтому я пока откатил назад все коды и прошу подсказать как решить эту проблему
#115, 21 апреля, 2010 в 22:44
о я переписал одну строчку и растянутое окно исчезло
вот эту
.smo {position: absolute; left: +10000px;}
#116, 22 апреля, 2010 в 18:14
отлично! Отправляю пост в закладки - наконец-то нашел адекватный ответ автоматическому спаму :)
#117, 23 апреля, 2010 в 19:59
несмотря на проделанный дейсвия спам продолжил приходить
#118, 24 мая, 2010 в 22:53
Как всегда все гениальное - просто... но, увы, и сложно одновременно.
Почему-то после добавления сведений в стайл.цсс остаётся две формы вместо одной.
Не подскажите, что делать?
#119, 25 мая, 2010 в 08:42
И всё же просто :) не досмотрел, что в тебе кроме стайл.цсс есть ещё и цсс.пхп :)
Способ - отличный! Спасибо!
#120, 13 июня, 2010 в 12:09
Нужно убрать плагин и всё работает
#121, 6 июля, 2010 в 02:16
для 2.9.2 у меня вот такой код вышел
$spam_test_field = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;
if(!empty($spam_test_field)) wp_die('Спаму нет!');
$comment_author = ( isset($_POST['author']) ) ? trim(strip_tags($_POST['author'])) : null;
$comment_author_email = ( isset($_POST['email']) ) ? trim($_POST['email']) : null;
$comment_author_url = ( isset($_POST['url']) ) ? trim($_POST['url']) : null;
$comment_content = ( isset($_POST['real-comment']) ) ? trim($_POST['real-comment']) : null;
Сейчас ставила на второй блог, только в таком виде перестал выдавать ошибку, хотя в первый раз код был такой
$spam_test_field = trim($_POST['comment']);
if(!empty($spam_test_field)) wp_die('Спаму нет!');
$comment_author = ( isset($_POST['author']) ) ? trim(strip_tags($_POST['author'])) : null;
$comment_author_email = ( isset($_POST['email']) ) ? trim($_POST['email']) : null;
$comment_author_url = ( isset($_POST['url']) ) ? trim($_POST['url']) : null;
$comment_content = ( isset($_POST['comment']) ) ? trim($_POST['real-comment']) : null;
#122, 14 июля, 2010 в 01:55
сделала перепостинг этой записи к себе в блог, ссылку на ваш сайт оставила. Если вы против - напишите мне, уберу.
#123, 17 июля, 2010 в 11:29
Спасибо! Очень полезно, т.к. капчу "человеческую" найти и правда сложно.
#124, 3 августа, 2010 в 18:41
Вот, сделал плагин тоже против авто-спама. Принцип работы похож на капчу, только никакую капчу вводить не нужно. , ну и еще при инстилляции не нужно править файлы движка.
#125, 12 августа, 2010 в 11:09
До поры до времени всё было хорошо, но сейчас спам спам и спам. В антиспам плагинах надо ковырятся теперь для исправления, или же проще вернуть всё назад :)