Еще один способ показать шиш СПАМ-роботам, срущим в комментарии
[ ←Вернуться к стандартному виду ]
Делаем проверку на существование рефера при постинге коммента, таким образом человек сможет оставить комментарий, а вот боту это уже не удастся. Вписать надо в файл .htaccess
, который лежит в корне WordPress, и не забыть поменять yourblog.com
на название вашего домена:
RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
Источник: Deny wordpress comment posting to no referrer requests.
Для эксперимента добавила в свой .htaccess
, посмотрим как будут обстоять дела со спамом. Хотя после включения плагина Math Comment Spam Protection количество спама и так резко уменьшилось.
UPD 10.01.2009
Аналогичный способ, но с functions.php
function check_referrer() { if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == "") { wp_die( __('Please enable referrers in your browser, or, if you\'re a spammer, bugger off!') ); } } add_action('check_comment_flood', 'check_referrer');
Супер, просто и элегантно, спасибо огромное
а как дела обстоят если человек пришел с рсс-ридера? реферер то там другой - с плагином показывающим реферер в мыле он указывается обычно
2Lecactus
В принципе, пользователь может и перегрузить страницу.
И не все кто читают, оставляют комментарий, поэтому ошибка возникнет у малого количества посетителей.
@Миша
Ну не скажите. Я вот например читаю RSS, что бы быстрее отслеживать новые посты. Оно и понятно. Ну и конечно комментирую все интересные мне посты в интересных мне блогах ;) Думаю я не один такой.
Никаких проблем у такого посетителя не возникнет. Ведь сначала он заходит на страницу с записью, и только потом попадает на wp-comments-post.php, если оставляет комментарий. Поэтому в данном случае по любому сохранится реферер сайта.
У тебя падают вниз сайдбары если резрешение экрaна 1024х768 и у записи нет комментов. Я это увидел в записи "Новинки WordPress 2.7", когда зашел с бука.
Ошибка видна в ff3 и ie6 и кстати там нету формы комментов.
Прочитала? Удали это сообщение - нафиг оно на блоге не надо :)
Поле "реферер" не является обязательным и оно вполне может по пути кем-нибудь порезаться (например, Аутпост по-умолчанию реферер выкашивает). Так что есть шанс потерять некоторое количество комментариев/комментаторов.
2Oleg Lobach
Outpost не режет по-умолчанию реферов. Он режет в случае, если его так настроить.
Странное заблуждение. Добавить реферер к спамилке так же просто, как и поле User-Agent. Более того, это можно делать по умолчанию для всех «целевых» сайтов (типа, робот пришёл с главной страницы данного сайта).
Зато из-за тупых админов, дорвавшихся до «крутова фаервола» и режущих всем рефереры «для безопасности» пострадают живые читатели. Многие из них как раз даже не поймут, из-за чего у них всё глючит.
А ведь достаточно просто запретить анонимные комментарии и поставить логин по OpenID. После этого не нужна ни капча, ни навороченный подсчёт антикармы.
Я у себя прикрутил решение с запретом оставлять комменты, если пользователь пришел через дырко-проксю. (важно - transparent-proxy провайдеров это не относится!!! они не ставят в шапке подобных пометок)
RewriteCond %{HTTP:VIA}%{HTTP:FORWARDED}%{HTTP:USERAGENT_VIA}%{HTTP:X_FORWARDED_FOR}%{HTTP:PROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION}%{HTTP:HTTP_PC_REMOTE_ADDR}%{HTTP:HTTP_CLIENT_IP} !^$
RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]
RewriteCond %{REQUEST_METHOD} =POST
RewriteRule .* - [F,NS,L]
И все. Спама стало в разы меньше. :)
Сорри, Sonika.
Нигде на сайте не нашел раздела контакты. Как можно с вами связаться по вопросам сотрудничества? В частности вы занимаетесь веб-версткой?
Проверка реферера при помощи htaccess была неплохим решением, может быть, год-полтора назад. Сейчас большинство спамилок указывают и User-agent, и реферер. Иногда у буржуйских спамеров ещё попадаются тупые спамилки, а "наши" в большинстве оснащены продвинутыми (кстати, возможно благодаря именно продвинутым блогерам, которые раскрывают свои секреты массам). И, как указали комментаторы выше, иногда браузер пользователя не отправит реферер, а он так и не поймёт, что произошло :( Такое случается хоть и нечасто, но и блогеру и комментатору в такой ситуации точно будет обидно.
За январь не получил ни одного коммента в стиле "Пеши исчо!". Более того, в разработке два сайта с использованием TDO и без предмодерации, так что при минимальной модификации TDO тоже будет защищены от спама.
Правда, "ручной" спам валит, но я на него стучу куда надо.
Немного устарело, но в целом защита неплохая
Пользуюсь, но не всегда помогает. Хотя конечно же лучше, чем ничего :)
Для спамеров статью нужно придумать!!!!
Сонька, ты больная... Это я так - не резко, а с вздыханием даже... Мужика тебе надо, а не ПХП со скулем... Эххх.. бабы, бабы...
Привет. Надо попробовать. А то действительно уже задолбал этот спам... Спасибо.
У меня, как вообщем-то и на этом блоге стоит "Math Comment Spam Protection Plugin", от авто спама защищает нормально, а от ручного - никуда не деться.
привет!
Интересная идея. Попробую прикрутить к JComments под Joomla.
Первый способ попробую, на одном из блогов просто задолбали уже.
Yawasp не пробовала ставить вместо Math?
http://wordpress.org/extend/plugins/yawasp/
Защита от СПАМа: Сколько будет 2 + 3
Это уже не защита. Хрумер например такие тесты проходит. Ставьте капчу, причем такую которую трудно распознать программно. Я например в своем блоге поставил плагин yaCAPTCHA (based on KCAPTCHA) и конец спаму.
Re-captcha, ckaptcha - вот плагинчик под ВП http://www.isinc.com/wordpress/ruarobot/ очень простой в установке. Все настройки в одном. Капча с нелинейным искажением. Взломать по шаблону практически невозможно. Только в полуавтоматическом режиме.
А проверка реферера - только медвежья услуга пользователям. Если был direct jump из тех же закладок? И пользователь не сможет оставить коммент в этом случае?)
По существу: тот же IE не всегда устанавливает реферер вообще. У них это входит "в процедуру защиты" по документации.
Ну боты что-нибудь придумают )
Меня честно сказать, встроенный акисмет сполна защищает, посещаемость блога ~ 400 уников, ни одного бота не пропускает О_о
А я немного сделал по другому) в файле wp-comments-post.php изменил строчку $comment_author_url то есть получилась она вот так $comment_author_url = ""; и спаму каек ;)
Любую капчу можно обойти программно; вопрос лишь как именно;
ПС можно в "математику" примерчики посложнее засовывать?? Например: (3^4-89)*17 ?? :)
Интересно, вышеописанный способ помог избавится от спама? А то я начал делать один блог, о нем еще никто не знает, кроме спамеров :(
Да со временем любую защиту обойдут спамеры. Единственное, что они не смогу обойти. Это плагин для Вордпресса. Коорый оборачивает все ссылки егаи ноиндекс и ноуфолоу. А в связке со стандартным плагином для защиты от спама под названием Аксимет. Вообще ихо и спокойно. У меня сразу спам прекратился.
Мы ориентируемся на долгосрочное сотрудничество, персональный подход к каждому клиенту, предоставляя точную и необходимую информацию по отправкам находящимся в движении.
проще в робот тхт, нофолоу сомент
Думаю посту можно дать плюсик. Ну а так по моему проще включить функцию модерации на блоге, чтобы проверять коментарии перед публикацией, хотя тоже не особый вариант, проверить коментарии допустим очень крупного блога отнимет многовато времени.
Три года назад на одном своем сайте сделал одну хитрую, гениальную, и, как водится, простую вещь - слова "Комментарии" и "Добавить комментарий" оформил картинкой, а кнопку "Написать" обозвал "Готово". С тех пор редкий бот "долетает до середины Днепра", несмотря на то, что сайт очень посещаемый, до 8 тысяч в день. Откровенно говоря, я и не помню уже, когда боты были.