Надоели спаммеры комментариев? Простое решение.
Как работают автоматические спаммеры комментов:
- парсится поиск по блогам Яндекса (1) и загоняется в список;
- программа-бот (робот) проходится по всем блогам по списку;
- берет один (?) URL, попавшийся на морде блога;
- добавляет к URL «/wp-comments-post.php»;
- генерирует «на лету» тексты комментариев из заготовок;
- при помощи PHP-функции для удаленного метода POST изображает из себя форму ввода комментария и пытается запостить текст.
Проще не придумаешь.
Такой «комментатор» возникает ниоткуда: он не посетил ни одной страницы блога, но сразу ломится комментировать. В заголовках HTTP нет реферрера, то есть не указывается страница, с которой он пришел (в нашем случае это страница самого поста). Вот он и попался! Решение простое: нужно запретить оставлять комментарии тем, кто пришел «ниоткуда».
Код, который следует вставить в файл .htaccess:
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*example.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
Не забудь заменить «example.com» на адрес своего WP, не тронув при этом ни единого знака ни до него, не после! Иначе упадет небо.
Если нет возможности редактирования .htaccess, можно добавить функцию в файл functions.php, который находится в папке твоего шаблона. Этот PHP-код можно скопировать у Соники, где я и подсмотрел то решение проблемы спама в комментариях.
Должен поделиться радостью: после изменения .htaccess у меня более нет надобности вручную «акисметить» и удалять комменты роботов. Правда, спамят «русские китайцы», вручную, по полцента за комментарий. Мне с какой-то стороны их даже жаль, но, по-любому, я их отправляю в базу Акисмет.
1) Почему именно Яндекс.Блоги, и не что иное? Ответ: Яндекс есть тупая поисковая система (а тут еще тупее), имеющая в своем арсенале помимо других тупостей еще и игнорирование атрибута ссылки rel=”nofollow”. И потому учитывающая эту ссылку как твой голос в пользу сайта спаммера. С точки зрения Google ссылки из комментариев блогов на WordPress не имеют никакого веса, так как они обычно закрыты атрибутом rel=”nofollow”. Кстати, смотри мои “Правила комментирования” под каждым постом.
Вообще, в последнее время автоспама стало гораздо меньше. Взял наугад три ссылки “комментаторов”, посмотрел их беклинки, проверил на индексацию яндексом – 0 страниц в индексе. Неужели Яшка ввёл фильтры?
А вообще, от автоспама шикарно спасает простенькая каптча вида “клацни сюда” или “поставь галочку”. И посетителям ненапряжно.
Как же мне надоели спам-комментарии на своих бллогах. Если разобраться, то по теме очень мало комментируют. Как правило, все эти: «Автор, пиши ещё!», от которых просто тошнит. Я понимаю, что человек хочет получить халявную ссылку, но неужели нельзя воспользоваться головой и делать ручной спам, а не поручать это ответственное дело роботам?
Литератор, прекрасный образец ручного спама!